在C語(yǔ)言中,制作JSON數(shù)據(jù)需要借助第三方庫(kù),常見(jiàn)的有cJSON、json-c等。下面以cJSON為例,介紹如何制作JSON數(shù)據(jù)。
1、安裝cJSON庫(kù)
#include "cJSON.h"
在使用cJSON前需要先包含頭文件cJSON.h。如果沒(méi)有該頭文件需要安裝cJSON庫(kù)。
2、創(chuàng)建JSON對(duì)象
cJSON *root; root = cJSON_CreateObject();
使用cJSON_CreateObject()函數(shù)創(chuàng)建一個(gè)JSON對(duì)象root。
3、向JSON對(duì)象中添加數(shù)據(jù)
cJSON_AddItemToObject(root, "name", cJSON_CreateString("Lucy")); cJSON_AddItemToObject(root, "age", cJSON_CreateNumber(18));
使用cJSON_AddItemToObject()函數(shù)向root對(duì)象中添加數(shù)據(jù)。其中第一個(gè)參數(shù)是JSON對(duì)象,第二個(gè)參數(shù)是添加的數(shù)據(jù)的鍵名(字符串類(lèi)型),第三個(gè)參數(shù)是添加的數(shù)據(jù)的值。
4、將JSON對(duì)象序列化為字符串
char *json = cJSON_Print(root);
使用cJSON_Print()函數(shù)將JSON對(duì)象root序列化為一個(gè)字符串json。
完整代碼如下:
#include "cJSON.h" int main() { cJSON *root; root = cJSON_CreateObject(); cJSON_AddItemToObject(root, "name", cJSON_CreateString("Lucy")); cJSON_AddItemToObject(root, "age", cJSON_CreateNumber(18)); char *json = cJSON_Print(root); printf("%s\n", json); free(json); cJSON_Delete(root); return 0; }
以上就是使用cJSON制作JSON數(shù)據(jù)的步驟。