Javascript JSON.parse()

时间:2014-06-17 13:46:38

标签: javascript json

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

Uncaught SyntaxError: Unexpected token ' 

工作

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

但没有工作

enter image description here

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

typeof(validRules)是字符串

1 个答案:

答案 0 :(得分:1)

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

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。