Javascript 将字符串转换为JSON对象
我将json分配给变量,如下所示:Javascript 将字符串转换为JSON对象,javascript,json,node.js,Javascript,Json,Node.js,我将json分配给变量,如下所示: var a = "[{a:123}]"; 现在,如果我执行a[0],它给出的结果是[。在执行a=JSON.parse(a)时,它给出的错误是Uncaught SyntaxError:JSON中位置2处的意外标记a 如何将a转换为a=[{a:123}];?这里的问题是您没有有效的JSON 未捕获的SyntaxError:JSON中位置2处的意外标记a 此错误导致字符“a”在此处无效。请参阅 理论上,您可以通过使用eval来实现您的目标,但这是非常不安全的,因为
var a = "[{a:123}]";
现在,如果我执行a[0]
,它给出的结果是[
。在执行a=JSON.parse(a)
时,它给出的错误是Uncaught SyntaxError:JSON中位置2处的意外标记a
如何将a转换为
a=[{a:123}];
?这里的问题是您没有有效的JSON
未捕获的SyntaxError:JSON中位置2处的意外标记a
此错误导致字符“a”在此处无效。请参阅
理论上,您可以通过使用eval
来实现您的目标,但这是非常不安全的,因为您可以评估字符串中存在的任何代码,所以我不建议这样做
您必须确保获得的JSON有效,或者如果格式无法更改,则可能需要在将字符串传递给JSON.parse之前对其进行预处理
顺便说一句,与出于某种原因而投票表决的另一个答案相反,这里没有数组。parse
:
$ node -e 'Array.parse()'
[eval]:1
Array.parse()
^
TypeError: Array.parse is not a function
另见:
- 这里的问题是您没有有效的JSON
未捕获的SyntaxError:JSON中位置2处的意外标记a
此错误导致字符“a”在此处无效。请参阅
理论上,您可以通过使用
eval
来实现您的目标,但这是非常不安全的,因为您可以评估字符串中存在的任何代码,所以我不建议这样做
您必须确保获得的JSON有效,或者如果格式无法更改,则可能需要在将字符串传递给JSON.parse之前对其进行预处理
顺便说一句,与出于某种原因而投票表决的另一个答案相反,这里没有数组。parse
:
$ node -e 'Array.parse()'
[eval]:1
Array.parse()
^
TypeError: Array.parse is not a function
另见:
var a = "[{a:123}]";
作者:
您必须替换:
var a = "[{a:123}]";
作者:
这是因为数组中的对象不是有效的JSON。现在如果它是这个
var a='[{“a”:123}',
它就会工作。尝试使用a,这是因为数组中的对象不是有效的JSON。现在如果它是这个var a='[{“a”:123}]“
它会起作用的。请尝试使用“是”,这对我有效,我更改了生成对象的数据查询。谢谢!是,这对我有效,我更改了生成对象的数据查询。谢谢!