Temporal.PlainTime.prototype.toJSON()

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

toJSON() 方法 Temporal.PlainTime 例項會返回一個字串,該字串以與呼叫 toString() 相同的 RFC 9557 格式表示此時間。它旨在被 JSON.stringify() 隱式呼叫。

語法

js
toJSON()

引數

無。

返回值

一個表示給定時間的字串,採用 RFC 9557 格式

描述

Temporal.PlainTime 物件被序列化為字串時,toJSON() 方法會被 JSON.stringify() 自動呼叫。此方法通常旨在預設情況下有效序列化 Temporal.PlainTime 物件,以便在 JSON 序列化過程中進行反序列化,然後可以使用 Temporal.PlainTime.from() 函式作為 JSON.parse() 的 reviver 來反序列化。

示例

使用 toJSON()

js
const time = Temporal.PlainTime.from({ hour: 12, minute: 34, second: 56 });
const timeStr = time.toJSON(); // '12:34:56'
const t2 = Temporal.PlainTime.from(timeStr);

JSON 序列化和解析

本示例展示瞭如何在無需額外努力的情況下將 Temporal.PlainTime 序列化為 JSON,以及如何將其解析回。

js
const time = Temporal.PlainTime.from({ hour: 12, minute: 34, second: 56 });
const jsonStr = JSON.stringify({ time }); // '{"time":"12:34:56"}'
const obj = JSON.parse(jsonStr, (key, value) => {
  if (key === "time") {
    return Temporal.PlainTime.from(value);
  }
  return value;
});

規範

規範
Temporal
# sec-temporal.plaintime.prototype.tojson

瀏覽器相容性

另見