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

c 返回json結果數(shù)據(jù)

林國瑞2年前9瀏覽0評論

在C語言中,我們可以使用json-c這個庫來處理JSON格式的數(shù)據(jù)。使用json-c可以方便地將C數(shù)據(jù)結構轉(zhuǎn)化為JSON格式,也可以將JSON格式的數(shù)據(jù)轉(zhuǎn)化為C數(shù)據(jù)結構。

下面是一個例子,我們先定義一個簡單的JSON格式的數(shù)據(jù):

{
"name": "張三",
"age": 20,
"score": [90, 80, 85]
}

我們可以使用json-c將這個JSON格式的數(shù)據(jù)轉(zhuǎn)化為C數(shù)據(jù)結構:

#includeint main() {
const char* json_str = "{\"name\":\"張三\",\"age\":20,\"score\":[90,80,85]}";
struct json_object* obj = json_tokener_parse(json_str);
// 獲取"name"字段的值
struct json_object* name_obj;
json_object_object_get_ex(obj, "name", &name_obj);
const char* name = json_object_get_string(name_obj);
// 獲取"age"字段的值
struct json_object* age_obj;
json_object_object_get_ex(obj, "age", &age_obj);
int age = json_object_get_int(age_obj);
// 獲取"score"字段的值
struct json_object* score_obj;
json_object_object_get_ex(obj, "score", &score_obj);
int score_len = json_object_array_length(score_obj);
int* score = malloc(score_len * sizeof(int));
for (int i = 0; i< score_len; i++) {
struct json_object* item = json_object_array_get_idx(score_obj, i);
score[i] = json_object_get_int(item);
}
// 釋放內(nèi)存
json_object_put(obj);
free(score);
// 返回JSON格式的數(shù)據(jù)
struct json_object* ret_obj = json_object_new_object();
json_object_object_add(ret_obj, "name", json_object_new_string(name));
json_object_object_add(ret_obj, "age", json_object_new_int(age));
struct json_object* score_arr = json_object_new_array();
for (int i = 0; i< score_len; i++) {
json_object_array_add(score_arr, json_object_new_int(score[i]));
}
json_object_object_add(ret_obj, "score", score_arr);
const char* ret_json_str = json_object_to_json_string(ret_obj);
printf("%s\n", ret_json_str);
return 0;
}

上面的代碼中,我們首先使用json_tokener_parse函數(shù)將JSON格式的數(shù)據(jù)解析成json_object類型的數(shù)據(jù)結構。

然后,我們使用json_object_object_get_ex函數(shù)獲取指定字段的值,并將其轉(zhuǎn)化成C的基本類型。

接著,我們使用json_object_new_object、json_object_new_string、json_object_new_int等函數(shù)創(chuàng)建一個新的JSON格式的數(shù)據(jù)結構。

最后,我們使用json_object_to_json_string函數(shù)將json_object類型的數(shù)據(jù)結構轉(zhuǎn)化為JSON格式的字符串并返回。