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

c 生成序列化json

謝彥文1年前8瀏覽0評論

C語言是一種非常經(jīng)典的編程語言,它的應(yīng)用非常廣泛,在很多場合都需要使用到C語言編寫的代碼。而在現(xiàn)代互聯(lián)網(wǎng)應(yīng)用中,JSON成為了數(shù)據(jù)交互的標(biāo)準(zhǔn)格式之一。因此,學(xué)會C語言生成序列化JSON格式數(shù)據(jù)是非常有實際意義的。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <jansson.h>
int main(void) {
json_t *root;
json_error_t error;
// 創(chuàng)建JSON對象
root = json_object();
// 添加鍵值對
json_object_set_new(root, "name", json_string("Tom"));
json_object_set_new(root, "age", json_integer(30));
// 添加數(shù)組
json_t *array = json_array();
json_array_append_new(array, json_string("book1"));
json_array_append_new(array, json_string("book2"));
json_array_append_new(array, json_string("book3"));
json_object_set_new(root, "books", array);
// 輸出JSON字符串
char *json_str = json_dumps(root, 0);
printf("%s\n", json_str);
// 釋放內(nèi)存
free(json_str);
json_decref(root);
return 0;
}

使用json_t結(jié)構(gòu)體來存儲JSON對象,可以通過json_object_set_new函數(shù)來給JSON對象添加鍵值對,通過json_array_append_new函數(shù)來給JSON對象添加數(shù)組。上面代碼中,我們添加了一個簡單的JSON對象,鍵包括“name”和“age”,值分別為字符串和整數(shù)。同時,我們還添加了一個“books”鍵,并給其賦值一個數(shù)組。

最終,我們使用json_dumps函數(shù)將JSON對象轉(zhuǎn)換成JSON字符串,并使用printf函數(shù)輸出JSON字符串。同時,記得在最后釋放內(nèi)存,通過json_decref函數(shù)來釋放JSON對象內(nèi)存。