C 的 Json 庫提供了很多方便的函數(shù)來生成標(biāo)準(zhǔn)的 Json 數(shù)據(jù)。建議使用第三方庫比自己手寫更好,這樣可以避免出現(xiàn)錯(cuò)誤。
#include "cJSON.h" cJSON *root, *array, *item; char *out; root = cJSON_CreateObject(); cJSON_AddStringToObject(root, "name", "John"); cJSON_AddNumberToObject(root, "age", 30); array = cJSON_AddArrayToObject(root, "hobbies"); cJSON_AddItemToArray(array, cJSON_CreateString("running")); item = cJSON_CreateObject(); cJSON_AddStringToObject(item, "name", "reading"); cJSON_AddNumberToObject(item, "time", 2); cJSON_AddItemToArray(array, item); out = cJSON_Print(root); printf("%s\n", out); cJSON_Delete(root); free(out);
使用 cJSON_CreateObject 函數(shù)創(chuàng)建一個(gè)新的 json 對象,接下來使用 cJSON_Add 函數(shù)添加屬性或數(shù)組。可以使用 cJSON_AddStringToObject 添加字符串,cJSON_AddNumberToObject 添加數(shù)字。使用 cJSON_AddArrayToObject 添加數(shù)組,其返回值就是一個(gè) cJSON 對象,給它添加元素時(shí)使用 cJSON_AddItemToArray 函數(shù)即可。
最后使用 cJSON_Print 函數(shù)生成 Json 字符串,最后一定要記得用 cJSON_Delete 函數(shù)釋放內(nèi)存。