Temporal.Duration.prototype.toJSON()

Limited availability

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.Duration trả về một chuỗi đại diện cho duration này theo cùng định dạng ISO 8601 như khi gọi toString(). Nó được thiết kế để được gọi ngầm định 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 duration đã cho theo định dạng ISO 8601, với độ chính xác dưới giây đủ để biểu diễn duration một cách chính xác.

Mô tả

Phương thức toJSON() được tự động gọi bởi JSON.stringify() khi một đối tượng Temporal.Duration được chuyển thành chuỗi. Phương thức này thường có mục đích, theo mặc định, tuần tự hóa các đối tượng Temporal.Duration một cách hữu ích trong quá trình tuần tự hóa JSON, và sau đó có thể được giải tuần tự hóa bằng cách sử dụng hàm Temporal.Duration.from() làm reviver của JSON.parse().

Ví dụ

Sử dụng toJSON()

js
const duration = Temporal.Duration.from({ hours: 1, minutes: 30, seconds: 15 });
const durationStr = duration.toJSON(); // 'PT1H30M15S'
const d2 = Temporal.Duration.from(durationStr);

Tuần tự hóa và phân tích cú pháp JSON

Ví dụ này cho thấy cách Temporal.Duration có thể được tuần tự hóa dưới dạng JSON mà không cần nỗ lực bổ sung, và cách phân tích cú pháp trở lại.

js
const duration = Temporal.Duration.from({ hours: 1, minutes: 30, seconds: 15 });
const jsonStr = JSON.stringify({ data: duration }); // '{"data":"PT1H30M15S"}'
const obj = JSON.parse(jsonStr, (key, value) => {
  if (key === "data") {
    return Temporal.Duration.from(value);
  }
  return value;
});

Đặc tả

Specification
Temporal
# sec-temporal.duration.prototype.tojson

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

Xem thêm