javascript - JSON.parse() 特别是运算符

标签 javascript json parsing

有人可以解释为什么当我尝试在运算符“+”、“-”、“*”、“/”上使用 JSON.parse() 时它会返回:

SyntaxError: Unexpected token +
SyntaxError: Unexpected token -
SyntaxError: Unexpected token *
SyntaxError: Unexpected token /

我传递了一个有效的字符串,但它不会返回运算符本身。文档中没有任何内容可以解释为什么这是无效的:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse

感谢任何帮助。谢谢。

为清楚起见进行编辑*

在文档中,以下情况均有效。它们是传递给 JSON.parse() 的任意字符串。您可以在控制台中验证这些示例。我的问题是为什么将运算符作为字符串传递不会返回该运算符。

JSON.parse('{}');              // {}
JSON.parse('true');            // true
JSON.parse('"foo"');           // "foo"
JSON.parse('[1, 5, "false"]'); // [1, 5, "false"]
JSON.parse('null');            // null

最佳答案

在 JSON 中,字符串需要用双引号引起来。因此,如果您想要一个包含运算符的 JSON 字符串,则需要将其加引号。

var json = '"+"';
var result = JSON.parse(json);
alert(result);

这将提醒 +

单引号用于 Javascript 文字,双引号是 JSON 语法的一部分。

关于javascript - JSON.parse() 特别是运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30813228/

相关文章:

json - Newtonsoft JSON - 如何反序列化自定义集合?

php - 将 Javascript 变量转换为 PHP 变量

parsing - 在 Common Lisp 中读取文件并转换为基于 n 元树的嵌套列表?

android - Retrofit + GSON 解析对象数组

javascript - 是否可以通过搜索字段使用 `switch_user`?

javascript - 如何将Python创建的JSON数据发送到JavaScript?

c# - HttpClient PostAsJsonAsync 方法无法正常工作(序列化无法正常工作)

Java通过格式化文件输入

javascript - Angular 2加载动画卡住

javascript - jQuery点击后如何保持当前宽度/高度?