c语言 json数据,cJson的用法(一) -C语言解析/生成 json数据

cJson这个库开源 跨平台,用来解析和生成json数据很方便。项目地址:https://github.com/DaveGamble/cJSON

只需要把cJson.c,cJson.h拷进项目就ok.

下面直接上代码:

#include

#include

#include"cJSON.h"

int main()

{

/*************

json的解析

***************************/

char data[] = "{\"name\":\"邱于涵\",\"age\":20}";

//json是json对象指针,json_name是 name对象的指针,json_age是age对象的指针

cJSON *json=0,*json_name=0,*json_age=0;

//解析数据包

json = cJSON_Parse(data);

//如果解析失败

if (!json)

{

printf("Error Before:",cJSON_GetErrorPtr());

}

else

{

json_age = cJSON_GetObjectItem(json,"age");

//如果类型是 数字

if(json_age->type==cJSON_Number)

{

printf("年龄:%d\n",json_age->valueint);

}

json_name = cJSON_GetObjectItem(json,"name");

//如果类型是 字符串

if (json_name->type == cJSON_String)

{

printf("姓名:%s\n",json_name->valuestring);

}

//释放内存

cJSON_Delete(json);

}

/**************************

json的生成

**********************************/

cJSON * jsonroot=0;

char * jsonout=0;

//创建根节点对象

jsonroot = cJSON_CreateObject();

//向根节点加入数字对象

cJSON_AddNumberToObject(jsonroot,"age",19);

//向根节点加入字符串对象

cJSON_AddStringToObject(jsonroot,"name","山楂");

//解析成字符串

jsonout=cJSON_Print(jsonroot);

printf("%s",jsonout);

//释放json对象的空间

cJSON_Delete(jsonroot);

//释放jsonout的空间

free(jsonout);

system("pause");

return 0;

}运行结果:

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值