C語言是一門面向過程的編程語言,不具備直接將對象轉為JSON的功能。然而,我們可以使用第三方庫來實現這一功能。下面我們就來介紹如何在C語言中將對象轉為JSON。
首先我們需要下載一個JSON解析庫。目前比較流行的JSON解析庫有cJSON和Jansson,這里我們以cJSON為例。cJSON是一個輕量級、開源的JSON解析庫,非常容易上手,可以擔任JSON串的封裝、編碼、解碼等操作。
#include <stdio.h>
#include <cjson/cJSON.h>
int main() {
// 新建一個JSON對象
cJSON *object = cJSON_CreateObject();
// 添加成員
cJSON_AddStringToObject(object, "name", "小明");
cJSON_AddNumberToObject(object, "age", 18);
cJSON *hobbies = cJSON_CreateArray();
cJSON_AddItemToArray(hobbies, cJSON_CreateString("coding"));
cJSON_AddItemToArray(hobbies, cJSON_CreateString("reading"));
cJSON_AddItemToArray(hobbies, cJSON_CreateString("swimming"));
cJSON_AddItemToObject(object, "hobbies", hobbies);
// 轉為JSON串
char *json_str = cJSON_PrintUnformatted(object);
printf("json_str: %s\n", json_str);
// 釋放內存
cJSON_Delete(object);
free(json_str);
return 0;
}
運行上面的代碼,我們可以得到以下JSON串:
{
"name":"小明",
"age":18,
"hobbies":["coding","reading","swimming"]
}
如此,我們就可以在C語言中將一個對象轉為JSON串了。需要注意的是,cJSON庫也提供了解析JSON串的功能,可以將JSON串轉為C語言中的對象,具體使用可以查看該庫的文檔。
上一篇c 將對象轉換為json
下一篇python 漸變色