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 类型表示转换回原始对象。