格式良好的 `JSON.stringify`
· 閱讀時間約 1 分鐘
JSON.stringify
之前的規範是當輸入包含任何孤立代理項時,返回格式不良的 Unicode 字串:
JSON.stringify('\uD800');
// → '"�"'
“格式良好的 JSON.stringify
”提案 修改了 JSON.stringify
,使其對孤立代理項輸出轉義序列,令其輸出有效 Unicode(並且可在 UTF-8 中表示):
JSON.stringify('\uD800');
// → '"\\ud800"'
請注意,JSON.parse(stringified)
仍然會產生與之前相同的結果。
這個特性是一個早該完成的小修復。對 JavaScript 開發者來說,少了一個需要擔心的問題。配合 JSON ⊂ ECMAScript,它使得可以安全地將 JSON-序列化的資料嵌入到 JavaScript 程式中作為文本,並且以任何 Unicode 兼容的編碼(例如 UTF-8)將生成的程式碼寫入磁碟。這對於元程式設計的使用案例非常有用。