在C語言中,我們可以通過設(shè)置JSON數(shù)據(jù)格式來處理JSON數(shù)據(jù),具體如下:
#include <stdio.h> #include <jansson.h> int main() { //設(shè)置JSON數(shù)據(jù)格式 json_t *root = json_object(); json_object_set_new(root, "name", json_string("Tom")); json_object_set_new(root, "age", json_integer(25)); json_t *hobbies = json_array(); json_array_append_new(hobbies, json_string("reading")); json_array_append_new(hobbies, json_string("writing")); json_object_set_new(root, "hobbies", hobbies); // 輸出JSON格式數(shù)據(jù) char *json_text = json_dumps(root, JSON_INDENT(4)); printf("%s\n", json_text); // 釋放內(nèi)存 free(json_text); json_decref(root); return 0; }
在上述代碼中,我們首先使用json_object()函數(shù)創(chuàng)建了一個JSON對象,然后通過json_object_set_new()函數(shù)將name和age字段設(shè)置為json_string和json_integer類型的值,將hobbies字段設(shè)置為json_array類型的值,再通過json_array_append_new()函數(shù)將兩個字符串元素添加到hobbies數(shù)組中。
最后,我們使用json_dumps()函數(shù)將整個JSON對象轉(zhuǎn)換為JSON格式的文本字符串,并使用JSON_INDENT(4)宏以4個空格縮進(jìn)的方式對輸出進(jìn)行格式化。最后,我們釋放內(nèi)存并返回0。