跳至主要内容

格式良好的 `JSON.stringify`

· 閱讀時間約 1 分鐘
Mathias Bynens ([@mathias](https://twitter.com/mathias))

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)將生成的程式碼寫入磁碟。這對於元程式設計的使用案例非常有用。

特性支持