JSON 类型表示
JSON 是一种方便且广泛使用的格式,用于序列化对象、数组、数字、字符串、布尔值和 null。 JSON 不支持 JavaScript 允许的所有数据类型,这意味着使用这些不兼容类型的 JavaScript 对象不能直接序列化为 JSON。
JSON 不兼容对象的JSON 类型表示是一个等效的 JavaScript 对象,其属性经过编码,以便信息可以序列化为 JSON。 这通常与原始对象具有相同属性(对于兼容的数据类型),而对于不兼容的属性,则会转换为/序列化为兼容类型。 例如,原始对象中的缓冲区属性可能base64url编码为 JSON 类型表示中的字符串。
无法使用JSON.stringify()
方法自动序列化为 JSON 的对象可以定义一个名为toJSON()
的实例方法,该方法返回原始对象的JSON 类型表示。 JSON.stringify()
然后将使用toJSON()
来获取要字符串化的对象,而不是原始对象。 PublicKeyCredential.toJSON()
和 Performance.toJSON()
是这种方法的示例。
以这种方式序列化的 JSON 字符串可以使用JSON.parse()
反序列化回JSON 类型表示对象。 通常会提供一个转换器方法,例如PublicKeyCredential.parseCreationOptionsFromJSON()
,以将JSON 类型表示转换回原始对象。