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

c json 嵌套

傅智翔2年前6瀏覽0評論

C語言是一種廣泛使用的編程語言,可以用來開發各種類型的應用程序。在開發過程中,常需要使用JSON格式來處理數據。JSON是一種輕量級的數據交換格式,被廣泛應用于網絡數據傳輸以及數據存儲等領域。而在實際開發中,C語言也提供了豐富的JSON解析庫,如cJSON。

JSON數據由鍵值對組成,其中的值可以是字符串、數字、布爾型、數組、對象等類型。而在JSON數據中可以嵌套各種類型的數據,從而形成一個復雜的層次結構。在C語言中,使用cJSON庫可以輕松地解析JSON數據,并對其進行操作。

// 示例JSON數據
{
"name": "Tom",
"age": 20,
"isStudent": true,
"hobbies": [
"reading",
"music"
],
"address": {
"city": "Beijing",
"province": "Beijing",
"country": "China"
}
}
// 使用cJSON庫解析JSON數據
cJSON *json = cJSON_Parse(json_data_string); // 解析JSON數據字符串
if (json != NULL) {
// 解析JSON數據中的name屬性值
cJSON *name = cJSON_GetObjectItem(json, "name");
if (name != NULL && name->type == cJSON_String) {
printf("name: %s\n", name->valuestring);
}
// 解析JSON數據中的hobbies數組
cJSON *hobbies = cJSON_GetObjectItem(json, "hobbies");
if (hobbies != NULL && hobbies->type == cJSON_Array) {
int hobbies_count = cJSON_GetArraySize(hobbies);
for (int i = 0; i< hobbies_count; i++) {
cJSON *hobby = cJSON_GetArrayItem(hobbies, i);
if (hobby != NULL && hobby->type == cJSON_String) {
printf("hobby: %s\n", hobby->valuestring);
}
}
}
// 解析JSON數據中的address對象
cJSON *address = cJSON_GetObjectItem(json, "address");
if (address != NULL && address->type == cJSON_Object) {
cJSON *city = cJSON_GetObjectItem(address, "city");
cJSON *province = cJSON_GetObjectItem(address, "province");
cJSON *country = cJSON_GetObjectItem(address, "country");
if (city != NULL && city->type == cJSON_String
&& province != NULL && province->type == cJSON_String
&& country != NULL && country->type == cJSON_String) {
printf("address: %s, %s, %s\n", city->valuestring,
province->valuestring, country->valuestring);
}
}
// 釋放JSON對象內存
cJSON_Delete(json);
}

在使用cJSON庫解析JSON數據時,首先需要調用cJSON_Parse函數將JSON數據字符串解析為cJSON對象,并通過cJSON_GetObjectItem等函數獲取JSON對象中的屬性值。通過使用cJSON庫,可以方便地處理嵌套的JSON數據,并讀取其中的屬性值。