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

c 遍歷json list

呂致盈2年前10瀏覽0評論

在C語言中,遍歷JSON List可以使用第三方的JSON庫來實現(xiàn),常用的有jansson和cJSON等。本文以cJSON為例來講解如何遍歷JSON List。

// JSON串
const char* json_string = '[{"name":"Tom","age":18},{"name":"Jerry","age":20}]';
// 解析JSON串
cJSON* root = cJSON_Parse(json_string);
if (root == NULL) {
// 解析失敗
return;
}
// 獲取JSON List
cJSON* json_list = cJSON_GetArrayItem(root, 0);
// 遍歷JSON List
int list_size = cJSON_GetArraySize(json_list);
for (int i = 0; i< list_size; i++) {
cJSON* item = cJSON_GetArrayItem(json_list, i);
// 獲取name和age
cJSON* name = cJSON_GetObjectItem(item, "name");
cJSON* age = cJSON_GetObjectItem(item, "age");
// 打印name和age
printf("name:%s, age:%d\n", name->valuestring, age->valueint);
}
// 釋放內(nèi)存
cJSON_Delete(root);

首先,將要解析的JSON串定義為一個字符串常量。接著,使用cJSON_Parse函數(shù)將字符串解析成一個cJSON對象,如果解析失敗,返回值為NULL。然后,通過cJSON_GetArrayItem函數(shù)獲取JSON List對象。接著,使用cJSON_GetArraySize獲取JSON List中元素的個數(shù),循環(huán)遍歷每個JSON對象。在循環(huán)中,使用cJSON_GetArrayItem函數(shù)獲取具體的JSON對象,在獲取name和age等具體字段的值。遍歷結(jié)束后,使用cJSON_Delete函數(shù)釋放內(nèi)存。

以上就是使用C語言遍歷JSON List的簡單步驟和示例代碼。使用第三方JSON庫如果在編譯時有找不到庫文件的問題,需要使用-l參數(shù)指定鏈接庫。