【转】C/C++ 使用cjson库 操作Json格式文件(创建、插入、解析、修改、删除)
一、cJSON库的使用:解析JSON 和 组合JSON
以下链接详细说明了 解析JSON 和 组合JSON
-
解析JSON:涉及解析
键值对 "key": "val"
、数组 ["string1", "string2"]
、数组 [{"key1": "val1"}, {"key2": "val2"}]
-
组合JSON:解析的反向操作
下面的链接对于json不同类型都进行了说明,特别详细,可以作为第一手学习资料。
1、C/C++ 使用cjson库 操作Json格式文件(创建、插入、解析、修改、删除)- 原文作者:cpp_learners
封装json对象小结:最深的一层先处理,次一级深的接着处理,。。。最后处理最外面一层。借用链接中的示意图:
解析json对象小结:最外面一层先处理,逐步处理深一层。但链接文档中,作者介绍了两种不同的方法,一种是通过用户已知的类型去查找,另一种是通过判断类型自动处理。
二、JSON解析到结构体
如何为目标JSON字符串(内容结构已知)设计结构体类型?
一方面,可以将json格式的字符解析到结构体,另一方面,可以将json格式字符串转换为cJSON *对象存储。