我試過下面的代碼:
console.log(JSON.stringify({ test: "\u30FCabc" }));
它給出以下輸出
'{"test":"ーabc"}'
我們知道主要JSON.stringify()方法將 JavaScript 物件或值轉換為 JSON 字串。根據 JSON std ( https://www.json.org/json-en.html ) 我們應該能夠存盤\u30FC. 那為什么"\u30FC"要轉換成"ー"?
uj5u.com熱心網友回復:
那為什么 "\u30FC" 被轉換成 "ー" 呢?
- JavaScript 引擎讀取您的字串文字并進行轉換以創建記憶體中的字串
- 包含該字串的物件被傳遞給
JSON.stringify JSON.stringify將物件編碼為 JSON 并將 表示ー為文字ー,因為JSON.stringify其撰寫方式更喜歡文字字符而不是 JSON 資料格式允許的轉義序列。
一些 JSON 編碼器允許您控制這一點,例如,在 PHP 中,比較:
<?php echo json_encode('ーabc', JSON_UNESCAPED_UNICODE); ?>
和
<?php echo json_encode('ーabc'); ?>
……但是 JavaScriptJSON.stringify沒有這樣的選擇。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/464463.html
標籤:javascript json
上一篇:根據一列中的值洗掉重復行
