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

c 生成嵌套 json數據

黃文隆1年前9瀏覽0評論

在使用 C 語言生成嵌套 JSON 數據時,需要用到一些 JSON 庫,如 cJSON ,Jansson 等。這些庫可以幫助我們以輕松的方式生成 JSON 數據。

下面是一個使用 cJSON 庫生成嵌套 JSON 數據的例子:

#include <stdio.h>
#include <cJSON.h>
int main()
{
cJSON *root, *student, *name, *age, *score;
root = cJSON_CreateObject(); // 創建 JSON 對象
// 創建一個包含學生信息的 JSON 對象
student = cJSON_CreateObject();
name = cJSON_CreateString("Tom");
cJSON_AddItemToObject(student, "name", name);
age = cJSON_CreateNumber(20);
cJSON_AddItemToObject(student, "age", age);
// 創建一個包含成績的 JSON 數組
score = cJSON_CreateArray();
cJSON_AddNumberToObject(score, "", 80);
cJSON_AddNumberToObject(score, "", 85);
cJSON_AddNumberToObject(score, "", 90);
cJSON_AddItemToObject(student, "score", score);
cJSON_AddItemToObject(root, "student", student);
char *json_str = cJSON_Print(root);
printf("%s \n", json_str);
cJSON_Delete(root);
free(json_str);
return 0;
}

上述代碼生成了一個包含一個學生信息的 JSON 對象,包括學生姓名、年齡和成績。成績是一個 JSON 數組,包含三個元素。最后通過 cJSON_Print() 函數將 JSON 對象轉換為字符串。

使用 Jansson 庫生成嵌套 JSON 數據的方式類似。下面是一個使用 Jansson 庫生成嵌套 JSON 數據的例子:

#include <stdio.h>
#include <jansson.h>
int main()
{
json_t *root, *student, *name, *age, *score;
root = json_object();
student = json_object();
name = json_string("Tom");
json_object_set_new(student, "name", name);
age = json_integer(20);
json_object_set_new(student, "age", age);
score = json_array();
json_array_append_new(score, json_integer(80));
json_array_append_new(score, json_integer(85));
json_array_append_new(score, json_integer(90));
json_object_set(root, "student", student);
json_object_set(student, "score", score);
char *json_str = json_dumps(root, JSON_ENCODE_ANY | JSON_INDENT(4));
printf("%s \n", json_str);
json_decref(root);
free(json_str);
return 0;
}

這段代碼也生成了一個包含一個學生信息的 JSON 對象,包括學生姓名、年齡和成績。成績是一個 JSON 數組,包含三個元素。最后通過 json_dumps() 函數將 JSON 對象轉換為字符串,并使用 JSON_INDENT() 參數控制縮進。