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

c 字典類型轉換成json

李中冰1年前9瀏覽0評論

在C語言中,字典類型通常使用結構體表示。將這樣的字典類型轉換成JSON格式可以方便地進行數(shù)據(jù)交換。下面我們來看一下具體的實現(xiàn)過程。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <json-c/json.h>
// 聲明字典數(shù)據(jù)類型
struct dict {
char name[20];
int age;
char gender;
};
int main(void) {
struct dict person = {"Tom", 20, 'M'};
// 創(chuàng)建JSON對象
struct json_object *json = json_object_new_object();
// 添加鍵值對
json_object_object_add(json, "name", json_object_new_string(person.name));
json_object_object_add(json, "age", json_object_new_int(person.age));
json_object_object_add(json, "gender", json_object_new_string_len(&person.gender, 1)); // 注意:這里需要將char類型轉換成字符串類型
// 將JSON對象轉換成字符串
const char *json_str = json_object_to_json_string(json);
// 輸出轉換后的JSON字符串
printf("JSON String: %s\n", json_str);
// 釋放JSON對象內(nèi)存
json_object_put(json);
return 0;
}

在代碼中,我們首先聲明了一個名為dict的結構體,用來表示一個字典類型。隨后,我們定義了一個person變量來存儲一個具體的字典數(shù)據(jù)。接著,我們使用json-c庫提供的API,首先創(chuàng)建了一個JSON對象,然后添加了三個鍵值對到這個對象中。最后,我們將JSON對象轉換成字符串,并輸出轉換后的結果。

需要注意的是,在將gender字段添加到JSON對象中時,我們需要將char類型的gender字段轉換成字符串類型。這里我們使用了json-c庫提供的json_object_new_string_len()函數(shù)來創(chuàng)建一個1字節(jié)長度的字符串。