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

c 怎么序列化json

錢良釵1年前8瀏覽0評論

在 C 語言中,序列化 JSON 可以使用很多不同的庫,比如 cJSON、Jansson、JSON-C 等等。下面我們就以 cJSON 庫為例來介紹 C 語言中如何序列化 JSON。

#include <stdio.h>
#include <cJSON.h>
int main() {
// 創(chuàng)建一個對象
cJSON *root = cJSON_CreateObject();
// 往對象里添加鍵值對
cJSON_AddStringToObject(root, "name", "John");
cJSON_AddNumberToObject(root, "age", 30);
cJSON_AddItemToObject(root, "hobbies", cJSON_CreateStringArray(
(const char *[]){ "reading", "swimming", "traveling" }, 3));
// 將對象序列化為 JSON 字符串
char *json_str = cJSON_Print(root);
printf("%s\n", json_str);
// 釋放內(nèi)存
cJSON_Delete(root);
free(json_str);
return 0;
}

上面的代碼展示了一個簡單的例子,首先我們創(chuàng)建一個 JSON 對象root,然后往里面添加了一個字符串類型的鍵值對、一個數(shù)值類型的鍵值對和一個字符串?dāng)?shù)組類型的鍵值對。最后,我們使用cJSON_Print方法將對象序列化為 JSON 字符串并打印出來。

需要注意的是,序列化完后需要手動釋放內(nèi)存,否則會造成內(nèi)存泄漏。

// 釋放內(nèi)存
cJSON_Delete(root);
free(json_str);

當(dāng)然,cJSON 庫還提供了很多其他的方法用于序列化 JSON,比如添加子對象、添加數(shù)組、添加布爾類型等等。這里就不再一一贅述,讀者可以根據(jù)具體需求選擇不同的方法使用。