色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c json轉(zhuǎn)換為數(shù)組對象數(shù)組

錢斌斌1年前8瀏覽0評論

C語言中可用的JSON解析庫有很多,比如cJSON、json-c等。在解析JSON字符串的過程中,我們通常希望將解析出來的結(jié)果以數(shù)組的形式保存下來。本文介紹如何將JSON數(shù)據(jù)轉(zhuǎn)換為數(shù)組對象數(shù)組形式。

// 示例JSON數(shù)據(jù)
const char *json_data = "{"
"\"users\":["
"{"
"\"name\":\"peter\","
"\"age\":18"
"},"
"{"
"\"name\":\"mary\","
"\"age\":20"
"}"
"]"
"}";
// 解析JSON字符串
cJSON *root = cJSON_Parse(json_data);
cJSON *users = cJSON_GetObjectItem(root, "users");
// 獲取數(shù)組元素個數(shù)
int array_size = cJSON_GetArraySize(users);
printf("%d\n", array_size); // 輸出2
// 遍歷數(shù)組
int i = 0;
for (i = 0; i< array_size; i++) {
cJSON *user = cJSON_GetArrayItem(users, i);
cJSON *name = cJSON_GetObjectItem(user, "name");
cJSON *age = cJSON_GetObjectItem(user, "age");
printf("name: %s, age: %d\n", name->valuestring, age->valueint);
}
cJSON_Delete(root);

在上面的示例代碼中,我們使用了cJSON庫解析了一個包含有兩個用戶信息的JSON字符串,并將結(jié)果以數(shù)組的形式保存下來。我們使用了cJSON_GetArraySize函數(shù)獲取了數(shù)組元素個數(shù),并使用了cJSON_GetArrayItem函數(shù)遍歷了整個數(shù)組,將每個元素的數(shù)據(jù)獲取出來打印出來。