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

c 遍歷json鍵值

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

在使用C語言解析JSON數據時,經常需要遍歷JSON數據的鍵值對。本文將介紹如何使用C語言遍歷JSON數據中的鍵值對。

// JSON數據示例
{
"name": "Tom",
"age": 18,
"address": {
"city": "Beijing",
"street": "Tiananmen Square"
}
}
// C語言遍歷JSON數據
json_t *root = json_load_file("data.json", 0, NULL);
json_t *value;
// 遍歷頂層鍵值對
const char *key;
json_object_foreach(root, key, value) {
if (json_is_string(value)) { // 字符串類型
printf("%s: %s\n", key, json_string_value(value));
} else if (json_is_integer(value)) { // 整數類型
printf("%s: %ld\n", key, json_integer_value(value));
} else if (json_is_object(value)) { // 對象類型
printf("%s:\n", key);
json_t *sub_value;
const char *sub_key;
// 遍歷子對象的鍵值對
json_object_foreach(value, sub_key, sub_value) {
if (json_is_string(sub_value)) {
printf("  %s: %s\n", sub_key, json_string_value(sub_value));
} else if (json_is_integer(sub_value)) {
printf("  %s: %ld\n", sub_key, json_integer_value(sub_value));
}
}
}
}

代碼中使用了libjson-c庫中的json_t類型來存儲JSON數據。使用json_object_foreach函數可以遍歷JSON對象中的鍵值對。如果鍵對應的值是字符串類型,可以使用json_string_value函數獲取字符串值;如果是整數類型,可以使用json_integer_value獲取整數值;如果是對象類型,可以繼續遍歷子對象中的鍵值對。

使用C語言遍歷JSON數據的方法簡單易懂,適用于需要高效處理大量JSON數據的場景。