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

c json jobject遍歷

呂致盈2年前10瀏覽0評論

CJSON中的jobject對象是CJSON中的一個非常重要的數據類型,它用于表示JSON對象。遍歷jobject對象是我們在處理JSON數據時經常需要進行的操作。下面我們將介紹如何對CJSON中的jobject對象進行遍歷。

CJSON_Hooks hooks;
memset(&hooks, 0, sizeof(CJSON_Hooks));
CJSON_SetHooks(&hooks);
char *jsonStr = "{\"name\":\"John\", \"age\":30, \"sex\":\"male\", \"married\":true, \"contact\":{\"email\":\"john@example.com\",\"phone\":\"123456\"}}";
CJSON *json = CJSON_Parse(jsonStr);
if (!json) {
printf("JSON 轉換失敗\n");
return;
}
jobject obj = json->root->ptr;
jobject_iterator iter = JObjectIterate(obj);
jobject_kv keyValue;
while (JObjectNext(&iter, &keyValue)) {
printf("key = %s, ", keyValue.key);
switch (keyValue.value->type) {
case CJSON_Type_String:
printf("value = \"%s\"\n", keyValue.value->ptr);
break;
case CJSON_Type_Number:
printf("value = %f\n", keyValue.value->valueDouble);
break;
case CJSON_Type_Object:
printf("\n");
break;
case CJSON_Type_Array:
printf("\n");
break;
case CJSON_Type_Bool:
printf("value = %s\n", keyValue.value->valueInt ? "true" : "false");
break;
case CJSON_Type_Null:
printf("value = NULL\n");
break;
default:
printf("\n");
}
}
CJSON_Delete(json);

以上就是遍歷CJSON中jobject對象的示例代碼。遍歷時我們使用了JObjectIterate函數和JObjectNext函數。其中,JObjectIterate函數是用來初始化遍歷對象的。而JObjectNext函數則用于遍歷jobject對象的鍵值對,并將其返回給我們,直到jobject對象中的所有鍵值對都被遍歷完畢。