c语言json结构体_cJOSN使用(C语言解析 json数据)

因为要解析json,为了避免重复造轮子就查找了C语言解析json的库(虽然我也想自己写一个解析json的库,可能在我把我的项目完成后会自己做一个。),然后就决定使用cJSON这个库,因为它比较轻量级上手也快,学会几个函数调用就可以解析json了,下面是json的简单使用和介绍。

cJSON是C语言的一个轻量级的一个json解析库。下载地址在这里

下面是cJSON中json的数据结构typedef struct cJSON {

struct cJSON *next,*prev;

//上(下)一个节点

struct cJSON *child;

//子节点

int type;

//元素类型

char *valuestring;

//如果元素是字符串的值

int valueint;

//如果元素是整形的值

double valuedouble;

//如果元素是浮点型的值

char *string;

//字段名称

} cJSON;

type在cJSON中定义了七种类型#define cJSON_False 0

#define cJSON_True 1

#define cJSON_NULL 2

#define cJSON_Number 3

#define cJSON_String 4

#define cJSON_Array 5

#define cJSON_Object 6

cJSON通过cJSON_Parse()函数传入字符串创建cJSON链表(双向)并返回cJSON指针。

下面是解析流程

1.先将字符串处理成cJSON对象char *js_string = "{\"status\":\"1\",\"info\":\"OK\",\"infocode\":\"10000\"}";

cJSON *root;

root = cJSON_Parse(js_string);

2.通过字段名称获取值cJSON *json_status, *json_info;

json_status = cJSON_GetObjectItem(root, "status");

json_info = cJSON_GetObjectItem(root, "info");

printf("status:%s, info:%s\n", json_status->valuestring, json_info->valuestring);

3.释放cJSON链表cJSON_Delete(root);

其他函数介绍

1.将json结构体转化成字符串printf(cJSON_Print(root));

奇变偶不变,符号看象限

------------------------------鲁迅

水出我第二篇文章了哈哈哈哈

给我点十个赞我就买瓶可乐庆祝下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值