色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c 寫json字符串

傅智翔1年前10瀏覽0評論

使用C語言編寫JSON字符串可以很方便地實(shí)現(xiàn)數(shù)據(jù)傳輸和存儲,JSON字符串通常由鍵值對和數(shù)組組成,可以使用C的數(shù)據(jù)結(jié)構(gòu)來表示,然后通過一定的方法將其轉(zhuǎn)化為JSON字符串。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <jansson.h>
int main(){
json_t *root;       //定義JSON根節(jié)點(diǎn)
json_t *array;      //定義數(shù)組節(jié)點(diǎn)
json_t *obj;        //定義對象節(jié)點(diǎn)
json_t *name;       //定義鍵值對中的鍵節(jié)點(diǎn)
json_t *value;      //定義鍵值對中的值節(jié)點(diǎn)
root = json_object();   //創(chuàng)建根節(jié)點(diǎn)
array = json_array();   //創(chuàng)建數(shù)組節(jié)點(diǎn)
obj = json_object();    //創(chuàng)建對象節(jié)點(diǎn)
//給對象節(jié)點(diǎn)添加鍵值對
name = json_string("name");
value = json_string("Tom");
json_object_set(obj, "name", value);
//將對象節(jié)點(diǎn)添加到數(shù)組中
json_array_append(array, obj);
//將數(shù)組節(jié)點(diǎn)添加到根節(jié)點(diǎn)中
json_object_set(root, "data", array);
//將JSON數(shù)據(jù)轉(zhuǎn)化為字符串
char *json_str = json_dumps(root, JSON_INDENT(4));
printf("%s", json_str);
//釋放內(nèi)存
json_decref(root);
free(json_str);
return 0;
}

如上述代碼所示,首先需要創(chuàng)建JSON根節(jié)點(diǎn)、數(shù)組節(jié)點(diǎn)和對象節(jié)點(diǎn),然后向?qū)ο蠊?jié)點(diǎn)中添加鍵值對,將對象節(jié)點(diǎn)添加到數(shù)組中,再將數(shù)組節(jié)點(diǎn)添加到根節(jié)點(diǎn)中。最后,通過使用json_dumps函數(shù)將JSON數(shù)據(jù)轉(zhuǎn)化為字符串并輸出到控制臺上。

除了json_dumps函數(shù),還有一些其他的函數(shù)可以將JSON數(shù)據(jù)轉(zhuǎn)換為字符串,例如json_dump_file函數(shù)可以將JSON數(shù)據(jù)輸出到文件中,json_dump_callback函數(shù)可以將JSON數(shù)據(jù)輸出到回調(diào)函數(shù)中。