白话json:
json 的解析库有cJson,c++Json,及QtJson,及若干若干语言的解析json的库, 这些库,它们的核心是说什么呢?
json, 核心思想是键值对,给一个key,得到一个value. key和value之间用冒号分割.
json,大括号括住的为object, 中括号括住的是array.
array 是json的value, 常见的array 是括住object对象, 当然它也能括住简单变量或array
array 的大小可以用size()函数获取.
jsonDocment 就是一对大括号括住的可以继续包含[],{}的键值对, [],{}构成了层次.或者说辈分.
json 的第一层{} 自然成为根object, root_obj, 被[]括住的{}将成为子object,
可描述为: keyArray = root_obj[key].toArray , 假定key 是这个数组的键值
array 内部的object 可描述为 secondLayer_obj=keyArray[index].toObject, 其中index 是keyArray 的索引.
secondLayer_obj[key] 将得到其对应的value, 简单的value可以转化为对应的int,float,string.
通过函数toInt(),toFloat(),toString().
想导出object 所有的key, 调用obj.keys() 即可得到stringlist
关键是理解object的value 概念, 它是2句话
1. object value可以是简单变量int,float,string,也可以是array.或者object
2. array 只能是object array,或者array的array
想玩玩代码, 可参考以下链接:
它给出了Qt下分析,生成json 的实例
origin https://gitee.com/whik/QJson_Demo