gpt4 book ai didi

javascript - 为什么 JSON.stringify()\u30FC 到 ー

转载 作者:行者123 更新时间:2023-12-02 18:13:03 27 4
gpt4 key购买 nike

我尝试了下面的代码:

console.log(JSON.stringify({ test: "\u30FCabc" }));

它给出以下输出:

'{"test":"ーabc"}'

我们知道,主要是 JSON.stringify() 方法将 JavaScript 对象或值转换为 JSON 字符串。根据 JSON std ( https://www.json.org/json-en.html ),我们应该能够存储 \u30FC。那为什么"\u30FC"会被转换成"ー"呢?

最佳答案

Then why "\u30FC" is converted to "ー" ?

  1. JavaScript 引擎读取您的字符串文字并进行转换以创建内存中的字符串
  2. 包含该字符串的对象将传递给 JSON.stringify
  3. JSON.stringify 将对象编码为 JSON,并将 表示为文字 ,因为 JSON.stringify > 的编写方式是在 JSON 数据格式允许的情况下更喜欢文字字符而不是转义序列。

一些 JSON 编码器允许您控制这一点,例如,在 PHP 中,比较:

<?php echo json_encode('ーabc', JSON_UNESCAPED_UNICODE); ?>

<?php echo json_encode('ーabc'); ?>

…但是 JavaScript 的 JSON.stringify 没有任何这样的选项。

关于javascript - 为什么 JSON.stringify()\u30FC 到 ー,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72010693/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com