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

c 日期類型轉(zhuǎn)為json

錢瀠龍1年前8瀏覽0評論

在C語言中,日期類型通常使用結(jié)構(gòu)體表示,包括年、月、日、時、分、秒等信息。而在一些程序中,我們需要將這些日期類型轉(zhuǎn)換為JSON格式,以方便傳輸和存儲。

以下是一個將日期結(jié)構(gòu)體轉(zhuǎn)換為JSON字符串的示例程序:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <json.h>
struct date {
int year;
int month;
int day;
int hour;
int minute;
int second;
};
char *date_to_json(struct date d) {
json_object *jobj;
char *jstr;
jobj = json_object_new_object();
json_object_object_add(jobj, "year", json_object_new_int(d.year));
json_object_object_add(jobj, "month", json_object_new_int(d.month));
json_object_object_add(jobj, "day", json_object_new_int(d.day));
json_object_object_add(jobj, "hour", json_object_new_int(d.hour));
json_object_object_add(jobj, "minute", json_object_new_int(d.minute));
json_object_object_add(jobj, "second", json_object_new_int(d.second));
jstr = strdup(json_object_to_json_string(jobj));
json_object_put(jobj);
return jstr;
}
int main() {
struct date d = {2021, 10, 10, 12, 30, 0};
char *jstr = date_to_json(d);
printf("%s\n", jstr);
free(jstr);
return 0;
}

在上面的例子中,我們使用了JSON-C庫來操作JSON數(shù)據(jù)。首先,我們創(chuàng)建了一個json_object對象jobj,并將日期結(jié)構(gòu)體中的各個成員作為鍵值對添加到jobj中。隨后,我們調(diào)用json_object_to_json_string函數(shù)將jobj對象轉(zhuǎn)換為JSON字符串,并使用strdup函數(shù)創(chuàng)建一個字符串的副本,最后釋放jobj對象的引用。

在主函數(shù)中,我們創(chuàng)建一個日期結(jié)構(gòu)體,并將其轉(zhuǎn)換為JSON數(shù)據(jù),然后打印輸出。