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

c 循環(huán)json中內(nèi)容

在進(jìn)行c程序開發(fā)時(shí),經(jīng)常需要從json數(shù)據(jù)中讀取數(shù)據(jù)并進(jìn)行處理。循環(huán)讀取json中的數(shù)據(jù)是非常重要的一個(gè)基礎(chǔ)操作。下面是一段c語言代碼示例,演示了如何循環(huán)讀取json中的數(shù)據(jù)。

#include <stdio.h>
#include <json-c/json.h>
int main() {
// json數(shù)據(jù)字符串
const char *json_string = "{ \"name\": \"Jack\", \"age\": 25, \"gender\": \"male\" }";
// 解析json數(shù)據(jù)
struct json_object *json_obj = json_tokener_parse(json_string);
// 獲取json對(duì)象中的鍵值對(duì)數(shù)量
int num_keys = json_object_object_length(json_obj);
// 循環(huán)讀取json對(duì)象中的數(shù)據(jù)
for (int i = 0; i < num_keys; i++) {
// 獲取第i個(gè)鍵值對(duì)
const char *key = json_object_get_string(json_object_object_get_idx(json_obj, i));
struct json_object *value = json_object_object_get(json_obj,key);
// 獲取值類型并進(jìn)行對(duì)應(yīng)處理
enum json_type value_type = json_object_get_type(value);
switch (value_type) {
case json_type_null:
printf("%s: null\n",key);
break;
case json_type_boolean:
printf("%s: %s\n",key,json_object_get_boolean(value)?"true":"false");
break;
case json_type_double:
printf("%s: %g\n",key,json_object_get_double(value));
break;
case json_type_int:
printf("%s: %d\n",key,json_object_get_int(value));
break;
case json_type_string:
printf("%s: %s\n",key,json_object_get_string(value));
break;
case json_type_object:
printf("%s: object\n",key);
break;
case json_type_array:
printf("%s: array\n",key);
break;
}
}
json_object_put(json_obj); // 釋放json對(duì)象內(nèi)存空間
return 0;
}

上述代碼中,首先將json數(shù)據(jù)字符串解析成一個(gè)json對(duì)象,并獲取該對(duì)象中鍵值對(duì)的數(shù)量。然后使用for循環(huán)遍歷鍵值對(duì),獲取鍵值對(duì)的key和value,并根據(jù)value的類型進(jìn)行處理,并打印輸出。