cJSON 函数简单使用

json

	"name":"ning",
	"age":"18",
	"addr":{
			"sheng":"guang",
			"shi":"zhu",
			},
	"tell":"1019",
	"edu":[
		{"xiao":"A"},
		{"chu":"B"}
	]
//创建cjson对象节点
1.cJSON_CreateObject();创建对象
2.cJSON_CreateArray;创建数组
举例:cJSON * root = cJSON_CreateObject();
//往对象添加string类型 键值
1.cJSON_AddNumberToObject();往对象中添加整型类
2.cJSON_AddStringToObject();往对象中添加字符类
3.cJSON_AddItemToObject();往对象中添加子节点
同理添加 “某键值是变量 可变为string 类型 number 类型 item 类型(子节点)”
cJSON_AddStringToObject("某对象","某键名","某键值");
举例:cJSON_AddStringToObject(root, "name","ning");
//从json对象中获取值
1.cJSON_GetObjectItem()获取一个 键值对的cJSON对象
cJSON * dev = cJSON_GetObjectItem(root,"name");
dev->valuestring== "ning"
2.cJSON_ReplaceItemInObject()替代对象中的一个键值对的值
cJSON_ReplaceItemInObject(root, "name", "liu");//将"name":"ning"-替换为"name":"liu"

3.cJSON_GetArraySize(cJSON * arr)获取数组节点的个数
cJSON * arr = cJSON_GetObjectItem(root,"edu");//先获取数组对象
int size = cJSON_GetArraySize(arr ); //size == 2

4.cJSON_GetArrayItem()获取数组节点中的第几个对象
cJSON * arr_0 = cJSON_GetArrayItem(arr , 0);
arr_0->valuestring == A;
5.cJSON_GetObjectItemCaseSensitive(inf,"name");获取你要的key所对应的value   与1相似功能,区别在于区分大小写
	cJSON_cJSON_GetObjectItemCaseSensitive(root,"name");
//6.7是一对的,同时出现才不会造成内存泄漏
6.cJSON_free(char * a);释放空间
7.char * cJSON_Print(cJSON * data)将cJSON对象转化为字符串
char * od = cJSON_Print(old_data);
//8.9为一对,同时使用才不会造成内存泄漏
8. cJSON * cJSON_Parse(char * a)将字符串转换为cJSON对象
	old_data = cJSON_Parse(content);	
9.cJSON_Delete(cJSON * data)删除并释放空间 会遍历整个链表释放。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值