安全的JSON解析。 JSON解析如何解析UTF字符?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安全的JSON解析。 JSON解析如何解析UTF字符?相关的知识,希望对你有一定的参考价值。
您好我想知道为什么这行不起作用:
JSON.parse({"a":"u00A9"})
根据这一点,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 字节流而不写入文件
C++ Builder 的 JSON 解析和生成,包括自带的 JSON 和第三方的 jsoncpp,支持 UNICODE (UTF-8 / UTF-16)