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

c 遍歷json屬性

錢琪琛1年前8瀏覽0評論

在C語言中,遍歷JSON屬性需要使用相關的庫。目前比較常用的是cJSON,這是一個輕量級的JSON解析庫。

/* 示例JSON數據 */
{
"name": "Tom",
"age": 18,
"address": {
"province": "Guangdong",
"city": "Shenzhen"
},
"hobbies": ["reading", "coding"]
}

首先,我們需要將JSON字符串解析成cJSON提供的數據結構:

cJSON *root = cJSON_Parse(json_string);

接著,我們可以使用cJSON提供的函數遍歷JSON屬性:

/* 遍歷頂層屬性 */
cJSON *item = root->child;
while (item) {
printf("%s: ", item->string);
switch (item->type) {
case cJSON_False:
printf("false\n");
break;
case cJSON_True:
printf("true\n");
break;
case cJSON_Number:
printf("%g\n", item->valuedouble);
break;
case cJSON_String:
printf("%s\n", item->valuestring);
break;
case cJSON_Array:
/* 遍歷數組元素 */
cJSON *array_item = item->child;
while (array_item) {
/* 處理數組元素 */
array_item = array_item->next;
}
break;
case cJSON_Object:
/* 遞歸遍歷對象屬性 */
cJSON *object_item = item->child;
while (object_item) {
/* 處理對象屬性 */
object_item = object_item->next;
}
break;
}
item = item->next;
}
/* 釋放cJSON數據結構 */
cJSON_Delete(root);

通過上述代碼,我們可以遍歷JSON屬性,并根據屬性的類型進行相應的處理。

在實際開發(fā)中,我們需要根據JSON數據的結構設計具體的代碼。以上只是一個簡單的示例,實際需求可能會更加復雜。