安全的JSON解析。 JSON解析如何解析UTF字符?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安全的JSON解析。 JSON解析如何解析UTF字符?相关的知识,希望对你有一定的参考价值。

您好我想知道为什么这行不起作用:

JSON.parse({"a":"u00A9"})
I tried to serach in MDN website but I didn't find anything referring to in json.parse

根据这一点,Unicode转义在语法上是合法的:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#String_literals

问题是什么?如何使用JSON.parse安全地解析文本

答案

{"a":"u00A9"}是一个javascript对象文字。

JSON.parse期望传递一个字符串,因此它被隐式转换为字符串("[object Object]")。

[很好,因为JSON文本可以从数组开始。

然后o是一个错误,因为那里不允许。


一个文字的版权符号(记住JavaScript字符串文字中的u00A9将在它到达JSON解析器之前被JS解析器使用)或unicode转义序列就可以了。

console.log(JSON.parse('{"a":"u00A9"}'));
console.log(JSON.parse('{"a":"\u00A9"}'));

以上是关于安全的JSON解析。 JSON解析如何解析UTF字符?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Powershell 解析从 Web 请求返回的 JSON 字节流而不写入文件

如何使用 Node.js 解析 JSON? [关闭]

C++ Builder 的 JSON 解析和生成,包括自带的 JSON 和第三方的 jsoncpp,支持 UNICODE (UTF-8 / UTF-16)

json解析失败怎么解决?

json解析出错误

如何在 Google App Engine 中解析 JSON?