Temporal.PlainDate.prototype.toJSON()

可用性有限

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

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

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

語法

js
toJSON()

引數

無。

返回值

一個表示給定日期的字串,採用 RFC 9557 格式,如果日曆註解不是 "iso8601",則包含日曆註解。

描述

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

示例

使用 toJSON()

js
const date = Temporal.PlainDate.from({ year: 2021, month: 8, day: 1 });
const dateStr = date.toJSON(); // '2021-08-01'
const d2 = Temporal.PlainDate.from(dateStr);

JSON 序列化和解析

此示例演示瞭如何在無需額外工作的情況下將 Temporal.PlainDate 序列化為 JSON,以及如何將其解析回來。

js
const date = Temporal.PlainDate.from({ year: 2021, month: 8, day: 1 });
const jsonStr = JSON.stringify({ date }); // '{"date":"2021-08-01"}'
const obj = JSON.parse(jsonStr, (key, value) => {
  if (key === "date") {
    return Temporal.PlainDate.from(value);
  }
  return value;
});

規範

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

瀏覽器相容性

另見