欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 處理json時間格式

江奕云2年前8瀏覽0評論

C 是一種經典的編程語言,它可以處理各種數據格式,包括 JSON。當我們需要處理 JSON 數據中的時間格式時,就需要特別注意,因為 JSON 中的時間格式通常是字符串類型的,需要進行轉換后才能使用。

#include <time.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <jansson.h>
int main(int argc, const char *argv[]) {
const char *json_string = "{\"time\":\"2021-09-28T05:32:00Z\"}";
json_t *root;
json_error_t error;
root = json_loads(json_string, JSON_ENCODE_ANY, &error);
if (!root) {
fprintf(stderr, "error: on line %d: %s\n", error.line, error.text);
return 1;
}
json_t *time_json = json_object_get(root, "time");
if (!time_json) {
fprintf(stderr, "error: no time field\n");
return 1;
}
const char *time_str = json_string_value(time_json);
struct tm time_struct = {0};
char time_buf[32] = {0};
strptime(time_str, "%Y-%m-%dT%H:%M:%SZ", &time_struct);
strftime(time_buf, sizeof(time_buf), "%Y-%m-%d %H:%M:%S", &time_struct);
printf("time: %s\n", time_buf);
json_decref(root);
return 0;
}

上述代碼中,我們首先使用json_loads()函數將 JSON 字符串轉換為 JSON 對象,然后使用json_object_get()函數從對象中獲取時間字符串。

接下來,我們使用 POSIX 標準的strptime()函數將時間字符串轉換為tm時間結構體,并使用strftime()函數將tm結構體轉換為可讀的時間字符串。最后,使用json_decref()函數釋放 JSON 對象,避免內存泄漏。

通過這些步驟,我們就可以輕松處理 JSON 數據中的時間格式,方便地進行后續的數據處理。