Temporal.PlainDateTime.prototype.toJSON()

Khả dụng hạn chế

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Phương thức toJSON() của các instance Temporal.PlainDateTime trả về một chuỗi đại diện cho ngày-giờ này theo cùng định dạng RFC 9557 như khi gọi toString(). Phương thức này được thiết kế để được gọi ngầm bởi JSON.stringify().

Cú pháp

js
toJSON()

Tham số

Không có.

Giá trị trả về

Một chuỗi đại diện cho ngày-giờ đã cho theo định dạng RFC 9557, với annotation lịch được bao gồm nếu nó không phải là "iso8601".

Mô tả

Phương thức toJSON() được tự động gọi bởi JSON.stringify() khi một đối tượng Temporal.PlainDateTime được chuyển thành chuỗi. Phương thức này nhìn chung được thiết kế để, theo mặc định, serialize các đối tượng Temporal.PlainDateTime một cách hữu ích trong quá trình tuần tự hóa JSON, sau đó có thể được deserialized bằng hàm Temporal.PlainDateTime.from() làm reviver của JSON.parse().

Ví dụ

Sử dụng toJSON()

js
const dt = Temporal.PlainDateTime.from({ year: 2021, month: 8, day: 1 });
const dtStr = dt.toJSON(); // '2021-08-01T00:00:00'
const dt2 = Temporal.PlainDateTime.from(dtStr);

Tuần tự hóa và phân tích JSON

Ví dụ này cho thấy cách Temporal.PlainDateTime có thể được serialize dưới dạng JSON mà không cần thêm công sức, và cách phân tích lại nó.

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

Đặc tả

Thông số kỹ thuật
Temporal
# sec-temporal.plaindatetime.prototype.tojson

Tương thích trình duyệt

Xem thêm