C/C++解析josn格式的数据文件

Liunx c 使用开源cJSON开源库解析json格式的数据文件

cJSON下载地址 https://files.cnblogs.com/files/piaoyang/cJSONFiles.rar

自己使用时可以只需要其中的cJSON.c和cJSON.h即可

这里需要使用一个很重的要json结构体
typedef struct cJSON {

struct cJSON next,prev; / 遍历数组或对象链的前向或后向链表指针/

struct cJSON *child; /数组或对象的孩子节点/

int type; /* key的类型*/

char *valuestring; /字符串值/

int valueint; /* 整数值*/

double valuedouble; /* 浮点数值*/

char string; / key的名字*/

} cJSON;

说明:

1、cJSON是使用链表来存储数据的。

2、type是键(key)的类型,一共有7种取值,分别是:False,Ture,NULL,Number,String,Array,Object。

重要的接口函数:

1.cJSON *cJSON_Parse(const char *value);

功能:解析JSON数据包,把自己的数据传过去并按照cJSON结构体的结构序列化整个数据包。可以看做是获取一个句柄。

2.cJSON *cJSON_GetObjectItem(cJSON *object,const char *string);

功能:获取json指定的对象成员

3.cJSON *cJSON_GetArrayItem(cJSON *array,int item);
功能:有可能第二个函数中获取到的是成员对象值是一个数组,那么就需要用到这个函数。用来获取这个数组指定的下标对象

4.cJSON_Delete()

功能:用来释放你第一步获取的句柄,来释放整个内存。

下面用几个简单的例子示范一下

1:读取简单的JSON数据
主程序在这里插入图片描述
打印结果
在这里插入图片描述
2:读取JSON数据文件
json数据文件内容,文件名 date.json
在这里插入图片描述
主程序在这里插入图片描述
在这里插入图片描述
结果
在这里插入图片描述
3.读取JSON数组数据
josn数据内容
解析的 内容是省名和天气情况

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
结果
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值