我尝试了下面的代码:
console.log(JSON.stringify({ test: "\u30FCabc" }));
它给出了以下产出:
'{"test":"ーabc"}'
我们知道,主要是JSON.stringify()
方法将JavaScript对象或值转换为JSON字符串。根据JSON (https://www.json.org/json-en.html),我们应该能够存储\u30FC
。那么为什么"\u30FC"
被转换为"ー"
呢?
发布于 2022-04-26 08:36:52
那么为什么"\u30FC“被转换为"ー”呢?
ー
表示为文字ー
,因为JSON.stringify
的编写方式更倾向于文字字符而不是转义序列,而JSON数据格式允许。一些JSON编码器允许您控制这一点,例如,在PHP中,比较:
<?php echo json_encode('ーabc', JSON_UNESCAPED_UNICODE); ?>
和
<?php echo json_encode('ーabc'); ?>
…但是JavaScript的JSON.stringify
没有任何这样的选项。
https://stackoverflow.com/questions/72010693
复制相似问题