Javascript JSON.parse()

标签 javascript json

我尝试使用 JSON.parse(),但出现错误

Uncaught SyntaxError: Unexpected token ' 

工作

JSON.parse('{"inputType":"select", "rules" :[{"rule": "literal_values", "restriction": "US"}]}') 

但不工作

enter image description here

为什么第二个版本不起作用?

typeof(validRules) 是字符串

最佳答案

屏幕截图将单引号显示为字符串值中的字符。

console.log(JSON.parse("'{\"inputType\":\"select\"}'"))
//                      ^                          ^
// SyntaxError: Unexpected token '
console.log(validRules.charAt(0));     // "'" vs. "{"
console.log(validRules.charCodeAt(0)); // 39  vs. 123

虽然在您的代码片段中,它们充当字符串文字的分隔符。

console.log(JSON.parse('{"inputType":"select"}'))
// { inputType: 'select' }

您需要从字符串值中删除单引号,以便将其解析为 JSON。

关于Javascript JSON.parse(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24265548/

相关文章:

javascript - 在 div 上创建淡出效果

ios - 在 IOS 中使用 AES 加密

php - 不同的 JSON 响应 - {"count":"123"} vs {"count"= >"123"}

javascript - 订阅 Observable 返回错误值

javascript - 网页不同屏幕的图像大小建议

javascript - Imacro - 滚动到页面底部的 Javascript 条件

json - 如何限制Django Rest Framework反向关系中的记录数

c++ - 如何使用 Rapidjson 打印或 to_string() 具有未知结构的嵌套 JSON

javascript - 如何获取下一个 JSON 项

javascript - Node.js 用递归函数以某种方式改变了我的对象