C語言常用的JSON解析庫有很多,其中比較著名的有cJSON、jansson等等。這里主要介紹cJSON的集合使用。
首先,需要包含cJSON.h頭文件,并定義一個cJSON結構體指針。
#include "cJSON.h" cJSON *root = NULL;
接下來,我們可以通過以下方法創建一個JSON集合:
//創建一個空的集合 root = cJSON_CreateObject(); //創建一個有兩個元素的集合,分別為"name":"Tom"和"age":18 cJSON_AddItemToObject(root, "name", cJSON_CreateString("Tom")); cJSON_AddItemToObject(root, "age", cJSON_CreateNumber(18));
我們也可以向一個已經存在的集合添加元素:
//在已有的集合中添加一個元素 cJSON_AddItemToObject(root, "gender", cJSON_CreateString("male"));
如果我們想獲取一個集合中某個元素的值,可以使用以下方法:
//獲取集合中"name"對應的值 cJSON *name = cJSON_GetObjectItem(root, "name"); printf("name: %s", name->valuestring);
如果我們要將已有的JSON字符串解析為集合,可以使用以下方法:
char *json_str = "{\"name\": \"Tom\", \"age\": 18}"; root = cJSON_Parse(json_str);
最后,需要注意的是,在使用cJSON解析JSON字符串時,需要釋放內存。
cJSON_Delete(root);