解析JSON样例如下
{
"name":"网站",
"num":3,
"sites": [
{ "name":"Google", "info":[ "Android", "Google 搜索", "Google 翻译" ] },
{ "name":"Runoob", "info":[ "菜鸟教程", "菜鸟工具", "菜鸟微信" ] },
{ "name":"Taobao", "info":[ "淘宝", "网购" ] }
]
}
第1次解析开始:
name:"网站",
num:"3",
sites: [
{ "name":"Google", "info":[ "Android", "Google 搜索", "Google 翻译" ] },
{ "name":"Runoob", "info":[ "菜鸟教程", "菜鸟工具", "菜鸟微信" ] },
{ "name":"Taobao", "info":[ "淘宝", "网购" ] }
]。
第1次解析说明:name和num字段解析完成,sites为JSON数组,需要单独继续JSON解析。
第2次解析开始:
sites[0]: { "name":"Google", "info":[ "Android", "Google 搜索", "Google 翻译" ] },
sites[1]: { "name":"Runoob", "info":[ "菜鸟教程", "菜鸟工具", "菜鸟微信" ] },
sites[2]: { "name":"Taobao", "info":[ "淘宝", "网购" ] }。
第2次解析说明:sites[0]、sites[1]、sites[2]为JSON对象,需要单独继续JSON解析。
第3次解析开始:
sites[0]. name: "Google",
sites[0]. info: [ "Android", "Google 搜索", "Google 翻译" ],
sites[1]. name: " Runoob ",
sites[1]. info: [ "菜鸟教程", "菜鸟工具", "菜鸟微信" ],
sites[2]. name: " Taobao ",
sites[2]. info: [ "淘宝", "网购" ]。
第3次解析说明:sites[0]. name 、sites[1]. name 、sites[2]. name 解析完成。sites[0]. info、sites[1] . info、sites[2] . info为JSON数组,需要单独继续JSON解析。
第4次解析开始:
sites[0]. Info[0]: "Android",
sites[0]. Info[1]: "Google 搜索",
sites[0]. Info[2]: "Google 翻译",
sites[1]. Info[0]: "菜鸟教程",
sites[1]. Info[1]: "菜鸟工具",
sites[1]. Info[2]: "菜鸟微信",
sites[2]. Info[0]: "淘宝",
sites[2]. Info[1]: "网购"。
第4次解析说明:解析完成。
最终转化为结构体的结果是:
name:"网站",
num:"3",
site[0] . name:"Google",
site[0] . info[0]: "Android" ,
site[0] . info[1]: "Google 搜索",
site[0] . info[2]: "Google 翻译",
site[1] . name:"Runoob",
site[1] . info[0]: "菜鸟教程" ,
site[1] . info[1]: "菜鸟工具",
site[1] . info[2]: "菜鸟微信",
site[2] . name:"Taobao",
site[2] . info[0]: "淘宝" ,
site[2] . info[1]: "网购"