Java中使用JSON解析處理時(shí)間戳是十分常見的情況,下面介紹一下如何實(shí)現(xiàn)。
時(shí)間戳是指從1970-01-01 00:00:00開始至今的秒數(shù)或毫秒數(shù),通常表示一個(gè)具體的時(shí)間點(diǎn)。在JSON中,時(shí)間戳通常以數(shù)字的形式呈現(xiàn),例如:1617808612。我們可以使用Java的時(shí)間類將其解析為我們需要的時(shí)間格式。
import java.text.SimpleDateFormat; import java.util.Date; public class TimestampConverter { public static void main(String[] args) { String jsonString = "{\"time\": 1617808612}"; // 使用JSON庫解析JSON字符串,獲得時(shí)間戳 JSONObject jsonObject = new JSONObject(jsonString); long timestamp = jsonObject.getLong("time"); // 將時(shí)間戳轉(zhuǎn)換為Date格式 Date date = new Date(timestamp * 1000); // 時(shí)間戳是以秒為單位的,需要乘以1000轉(zhuǎn)換為毫秒 // 格式化輸出日期 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateStr = format.format(date); System.out.println(dateStr); } }
上述代碼使用了JSON庫解析JSON字符串,獲得時(shí)間戳后將其轉(zhuǎn)換為Date格式。然后使用SimpleDateFormat進(jìn)行格式化輸出。輸出結(jié)果為 "2021-04-07 15:16:52"。
除了使用Java的時(shí)間類外,也可以使用第三方庫如jackson、gson等進(jìn)行解析處理。使用方法大同小異,只需注意時(shí)間戳是以秒為單位還是毫秒為單位。