欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

cjson解析json 3層數(shù)組 指針

劉柏宏1年前8瀏覽0評論

CJSON是一個解析JSON的C語言庫。它能夠?qū)SON文本轉(zhuǎn)換成C程序中的數(shù)據(jù)類型。對于JSON數(shù)組,CJSON 支持多層嵌套,可以很方便地對它們進行解析和處理。

在CJSON中,數(shù)組被解析成一個類型為 cJSON_Array 的結構體。cJSON_Array中有一個指向 cJSON 類型結構體的指針,它可以指向任何類型的JSON對象。

/* 解析JSON數(shù)組示例 */
#include "cJSON.h"
char *json_str = "{ \"array\":[[\"value11\",\"value12\"],[\"value21\",\"value22\"]] }";
int main()
{
cJSON *root = cJSON_Parse(json_str);
if (root != NULL)
{
cJSON *array = cJSON_GetObjectItem(root, "array");
if (array != NULL)
{
int i = 0, j = 0;
for (i = 0; i< cJSON_GetArraySize(array); i++)
{
cJSON *sub_array = cJSON_GetArrayItem(array, i);
if (sub_array != NULL)
{
for (j = 0; j< cJSON_GetArraySize(sub_array); j++)
{
cJSON *value = cJSON_GetArrayItem(sub_array, j);
if (value != NULL)
{
printf("%s ", value->valuestring);
}
}
printf("\n");
}
}
}
cJSON_Delete(root);
}
return 0;
}

在上述代碼中,我們首先調(diào)用cJSON_Parse方法解析JSON字符串,返回一個指向 cJSON 類型結構體的指針root。隨后,我們調(diào)用cJSON_GetObjectItem方法獲取鍵名為"array"的JSON數(shù)組;如果成功獲取到,則我們依次獲取其子數(shù)組以及子數(shù)組中的值,使用cJSON_GetArraySize和cJSON_GetArrayItem方法進行獲取。

對于任意一個 cJSON 數(shù)據(jù)結構,都可以通過其相關字段或方法獲取到該數(shù)據(jù)結構的類型、鍵名、鍵值等信息,這些都為我們處理JSON數(shù)據(jù)提供了方便。

總之,CJSON是一個輕量、高效、易用的JSON解析庫,支持多層嵌套的JSON數(shù)組數(shù)據(jù)類型。我們可以通過使用指針遍歷JSON數(shù)組的層次結構,實現(xiàn)針對JSON數(shù)組的解析和處理。