在C語言中,生成JSON格式的數(shù)據(jù)通常會用到一個(gè)第三方庫——cJSON。
#include <stdio.h> #include <cJSON.h> int main() { /* 創(chuàng)建一個(gè) JSON 對象 */ cJSON* root = cJSON_CreateObject(); /* 添加一個(gè)字符串類型的鍵值對 */ cJSON_AddItemToObject(root, "name", cJSON_CreateString("Tom")); /* 添加一個(gè)整型類型的鍵值對 */ cJSON_AddItemToObject(root, "age", cJSON_CreateNumber(20)); /* 添加一個(gè)布爾類型的鍵值對 */ cJSON_AddItemToObject(root, "isMarried", cJSON_CreateBool(0)); /* 添加一個(gè)數(shù)組類型的鍵值對 */ cJSON* hobby_arr = cJSON_CreateArray(); cJSON_AddItemToArray(hobby_arr, cJSON_CreateString("Reading")); cJSON_AddItemToArray(hobby_arr, cJSON_CreateString("Swimming")); cJSON_AddItemToObject(root, "hobby", hobby_arr); /* 將 JSON 對象轉(zhuǎn)換成字符串 */ char* json_str = cJSON_Print(root); /* 打印 JSON 字符串 */ printf("JSON String: %s\n", json_str); /* 釋放內(nèi)存 */ cJSON_Delete(root); free(json_str); return 0; }
上面的代碼就展示了如何使用cJSON庫生成JSON格式的數(shù)據(jù)。我們首先創(chuàng)建了一個(gè)JSON對象,然后往里面添加了不同類型的鍵值對。最后將JSON對象轉(zhuǎn)換成字符串,并打印出來。
我們可以看到生成的JSON字符串如下:
{ "name": "Tom", "age": 20, "isMarried": false, "hobby": [ "Reading", "Swimming" ] }
這個(gè)字符串就是JSON格式的數(shù)據(jù),可以用于傳輸和存儲。