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

c解析json數組對象數組

張吉惟1年前8瀏覽0評論

JSON是現代的數據交換格式之一,它逐漸替代了傳統的XML。在C語言中,解析JSON需要使用相關的庫函數,同時也需要了解JSON的基本結構。下面示例展示了如何使用C語言解析其中一個常見的JSON結構,即JSON數組中包含對象數組。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <jansson.h>
int main()
{
// JSON字符串
char *json_string = "[{\"name\":\"John\",\"age\":30,\"city\":\"New York\"},{\"name\":\"Alice\",\"age\":25,\"city\":\"London\"}]";
// 解析JSON字符串
json_t *root;
json_error_t error;
root = json_loads(json_string, 0, &error);
if (!root)
{
printf("error: on line %d: %s\n", error.line, error.text);
return 1;
}
// 遍歷JSON數組
size_t i;
json_t *value;
json_array_foreach(root, i, value)
{
// 獲取對象屬性
const char *name, *city;
int age;
json_object_get_string(json_object_get(value, "name"), &name);
json_object_get_integer(json_object_get(value, "age"), &age);
json_object_get_string(json_object_get(value, "city"), &city);
// 輸出對象屬性
printf("Name: %s\n", name);
printf("Age: %d\n", age);
printf("City: %s\n", city);
printf("\n");
}
// 釋放內存
json_decref(root);
return 0;
}

在上面的代碼示例中,我們首先定義了一個JSON字符串,它表示一個包含兩個對象的數組。接著,我們使用json_loads函數將JSON字符串解析為一個json_t類型的根節點。如果解析失敗,我們將會輸出錯誤信息并退出程序。

接下來,我們使用json_array_foreach函數遍歷JSON數組中的每個對象,并使用json_object_get_xxx函數獲取對象的屬性值。最后,我們輸出了每個對象的屬性值,并使用json_decref釋放了內存。

綜上所述,C語言解析JSON數組中包含對象數組的過程并不復雜,只需要掌握相關的庫函數和對JSON結構的基本了解即可。除此之外,我們還可以使用其他JSON結構進行實驗和學習,例如JSON對象、復雜的JSON數組等。