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
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()
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.
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> |