Temporal.PlainMonthDay.prototype.toJSON()

可用性有限

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

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

toJSON() 方法是 Temporal.PlainMonthDay 例項的方法,它返回一個字串,該字串以與呼叫 toString() 相同的 RFC 9557 格式表示此月份-日期。它的設計目的是由 JSON.stringify() 隱式呼叫。

語法

js
toJSON()

引數

無。

返回值

一個字串,表示給定月份-日期,採用 RFC 9557 格式,如果年份和日曆註解不是 "iso8601",則會包含它們。

描述

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

示例

使用 toJSON()

js
const md = Temporal.PlainMonthDay.from({ month: 8, day: 1 });
const mdStr = md.toJSON(); // '08-01'
const md2 = Temporal.PlainMonthDay.from(mdStr);

JSON 序列化和解析

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

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

規範

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

瀏覽器相容性

另見