在C語言中,我們一般使用第三方的JSON庫將C數(shù)據(jù)轉(zhuǎn)換成JSON格式。在這里,我們推薦使用開源的 cJSON 庫。
#include <stdio.h> #include <cjson/cJSON.h> int main() { cJSON *root = cJSON_CreateObject(); // 創(chuàng)建根節(jié)點(diǎn) cJSON_AddItemToObject(root, "name", cJSON_CreateString("Tom")); // 添加字符串類型的鍵值對 cJSON_AddItemToObject(root, "age", cJSON_CreateNumber(20)); // 添加數(shù)字類型的鍵值對 char *json_str = cJSON_Print(root); // 將根節(jié)點(diǎn)轉(zhuǎn)成JSON字符串 printf("%s\n", json_str); free(json_str); // 需要手動(dòng)釋放內(nèi)存 cJSON_Delete(root); // 刪除節(jié)點(diǎn)及其子節(jié)點(diǎn) return 0; }
以上是一個(gè)最基本的例子,我們通過 cJSON_CreateObject()函數(shù)創(chuàng)建了一個(gè)根節(jié)點(diǎn),再通過 cJSON_AddItemToObject() 函數(shù)向根節(jié)點(diǎn)中添加了兩個(gè)鍵值對,一個(gè)是字符串類型的"name",一個(gè)是數(shù)字類型的"age"。接下來,我們調(diào)用 cJSON_Print() 函數(shù)將根節(jié)點(diǎn)和其子節(jié)點(diǎn)轉(zhuǎn)成了JSON字符串,最后將JSON字符串打印出來。
注:cJSON庫不僅支持將C數(shù)據(jù)轉(zhuǎn)成JSON格式,還支持將JSON格式轉(zhuǎn)成C數(shù)據(jù)。