C語言是非常強大的編程語言,它可以處理許多不同類型的數據,包括JSON格式的數據。在本文章中,我們將介紹如何遍歷讀取JSON對象。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <jansson.h>
int main()
{
char *json_string = "{\"name\": \"張三\", \"age\": 20}";
json_error_t error;
json_t *root, *value;
root = json_loads(json_string, strlen(json_string), &error);
if(!root) {
fprintf(stderr, "error: on line %d: %s\n", error.line, error.text);
exit(1);
}
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: %d\n", key, json_integer_value(value));
}
}
json_decref(root);
return 0;
}
代碼中使用了jansson庫,它是一個非常流行的JSON解析庫。我們先定義了一個JSON字符串,然后使用json_loads函數將其轉換成json_t類型的root對象。
接下來我們使用json_object_foreach函數遍歷所有的鍵值對。我們使用json_is_string和json_is_integer函數判斷當前鍵所對應的值的類型,然后使用json_string_value和json_integer_value函數獲取對應的值。
最后我們使用json_decref函數釋放從json_loads函數中獲取的root對象。
上一篇vue 重命名對象