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

c json解析時間戳

夏志豪2年前8瀏覽0評論

在C語言編程過程中,經常需要使用JSON解析庫來解析JSON數據格式,而解析出的時間戳又是一個常見的數據類型之一,下面我們來介紹一下如何使用C語言的JSON解析庫解析時間戳。

在C語言中,常用的JSON解析庫有CJSON、jq等。這里我們以CJSON為例,假設我們有一個JSON格式的時間戳數據:

{
"timestamp": 1624485772
}

我們需要用CJSON解析出來這個時間戳,并轉換為C語言中的時間格式。下面是CJSON解析JSON格式的基本代碼:

#include "cJSON.h"
#includeint main()
{
char *json_str = "{\"timestamp\": 1624485772}"; // JSON格式數據
cJSON *json = cJSON_Parse(json_str); // 解析JSON數據
if(json == NULL)
{
printf("JSON解析失敗\n");
return -1;
}
cJSON *timestamp_json = cJSON_GetObjectItem(json, "timestamp"); // 獲取時間戳數據
if(timestamp_json == NULL)
{
printf("時間戳數據獲取失敗\n");
return -1;
}
long timestamp = timestamp_json->valueint; // 將時間戳數據轉換為long類型
printf("時間戳:%ld\n", timestamp);
return 0;
}

上面的代碼中,我們首先用cJSON_Parse函數解析JSON格式數據,然后用cJSON_GetObjectItem函數獲取時間戳數據,并將其轉換為long類型。最后打印出時間戳數據。

如果我們需要將時間戳轉換為C語言中的時間格式,需要使用C語言的time.h庫。下面是將時間戳轉換為C語言中時間格式的完整代碼:

#include "cJSON.h"
#include#includeint main()
{
char *json_str = "{\"timestamp\": 1624485772}";
cJSON *json = cJSON_Parse(json_str);
if(json == NULL)
{
printf("JSON解析失敗\n");
return -1;
}
cJSON *timestamp_json = cJSON_GetObjectItem(json, "timestamp");
if(timestamp_json == NULL)
{
printf("時間戳數據獲取失敗\n");
return -1;
}
time_t timestamp = (time_t)timestamp_json->valueint; // 將時間戳轉換為time_t類型
struct tm *timeinfo = localtime(×tamp); // 獲取時間格式
char time_buff[20];
strftime(time_buff, sizeof(time_buff), "%Y-%m-%d %H:%M:%S", timeinfo); // 格式化輸出
printf("時間格式:%s\n", time_buff);
return 0;
}

上面的代碼中,我們首先將時間戳數據轉換為time_t類型,然后使用localtime函數獲取時間格式,并通過strftime函數將時間格式化輸出。