C JSON多個List是一種非常常見的數據格式,它通常被用來表示列表式的數據。
{
"list1": [
{
"name": "張三",
"age": 18
},
{
"name": "李四",
"age": 20
}
],
"list2": [
{
"name": "王五",
"age": 22
},
{
"name": "趙六",
"age": 24
}
]
}
在這個JSON對象中,我們看到了兩個列表——list1和list2。
每個列表都是一個數組,它包括了多個對象。
每個對象都包括了一個名字和一個年齡屬性。
在C語言中,我們通常使用一個JSON庫來處理這樣的數據格式,最常見的則是cJSON庫。
// 解析JSON
cJSON* root = cJSON_Parse(json_string);
// 獲取list1和list2
cJSON* list1 = cJSON_GetObjectItem(root, "list1");
cJSON* list2 = cJSON_GetObjectItem(root, "list2");
// 遍歷list1
for (int i = 0; i< cJSON_GetArraySize(list1); i++) {
cJSON* item = cJSON_GetArrayItem(list1, i);
const char* name = cJSON_GetObjectItem(item, "name")->valuestring;
int age = cJSON_GetObjectItem(item, "age")->valueint;
printf("name: %s, age: %d\n", name, age);
}
// 遍歷list2
for (int i = 0; i< cJSON_GetArraySize(list2); i++) {
cJSON* item = cJSON_GetArrayItem(list2, i);
const char* name = cJSON_GetObjectItem(item, "name")->valuestring;
int age = cJSON_GetObjectItem(item, "age")->valueint;
printf("name: %s, age: %d\n", name, age);
}
通過CJSON,我們可以輕松地解析這樣的JSON數據,并從中提取出我們需要的信息。
當然,在實際應用中,我們還需要考慮一些異常情況的處理,比如JSON格式錯誤、屬性缺失等等。
但總的來說,使用CJSON來處理JSON數據是一件非常方便而且實用的事情。