JSON 通常用于与服务端交换数据。在接收服务器数据时一般是字符串。
解析JSON字符串
1.cJSON_Parse函数:负责解析JSON数据包,并按照cJSON结构体的结构序列化整个数据包。使用该函数会通过malloc函数在内存中开辟一个空间,使用完成需要手动释放。
我们可以使用 JSON.parse() 方法将数据转换为 JavaScript 对象。
2.cJSON_GetObjectItem函数:可从cJSON结构体中查找某个子节点名称(键名称),如果查找成功可把该子节点序列化到cJSON结构体中。
3.如果需要使用cJSON结构体中的内容,可通过cJSON结构体中的valueint和valuestring取出有价值的内容(即键的值)
4.可通过cJSON_Delete释放内存空间。
例程
本例程为初级篇,输出到屏幕的同时,从json字符串中获取相对应的键值,生成对应的test.json文件中。
#include <stdio.h>
#include <stdlib.h>
#include "cJSON.h"
char *target="{\"name\":\"xiaoming\",\"nameid\":\"1\",\"age\":20}";
int json_analyse(char *tar)
{
if(tar == NULL)
{
printf("json_analyse tar error!\n");
return -1;
}
cJSON *json,*json_name,*json_nameid,