Javascript 将字符串转换为json对象时出错

Javascript 将字符串转换为json对象时出错,javascript,angularjs,json,Javascript,Angularjs,Json,正在尝试使用json.parse(a)将此字符串转换为angular中的json对象。然而,我得到了一个错误 a = "{'sentiments': [['1485925200000', '0.0636363636364']]}" // typeof(a) returns string SyntaxError:JSON中位置1处的意外标记 在JSON.parse()处 由于您有”,而JSON格式不支持这些内容,因此您可以执行以下操作: SyntaxError: Unexpected t

正在尝试使用json.parse(a)将此字符串转换为angular中的json对象。然而,我得到了一个错误

a = "{'sentiments': [['1485925200000', '0.0636363636364']]}"
// typeof(a) returns string
SyntaxError:JSON中位置1处的意外标记
在JSON.parse()处

由于您有
,而JSON格式不支持这些内容,因此您可以执行以下操作:

    SyntaxError: Unexpected token ' in JSON at position 1
at JSON.parse (<anonymous>) 
这将使用正则表达式查找
的所有实例,并将它们替换为
,以便可以解析JSON

编辑 在本例中,还可以使用一种更危险但可接受的方法,即使用
eval()
,因为
在JavaScript中被视为有效的字符串声明符,因此您可以执行以下操作:

a = "{'sentiments': [['1485925200000', '0.0636363636364']]}"
JSON.parse(a.replace(/'/g,'"'))

由于您有
,而JSON格式不支持这些内容,因此您可以执行以下操作:

    SyntaxError: Unexpected token ' in JSON at position 1
at JSON.parse (<anonymous>) 
这将使用正则表达式查找
的所有实例,并将它们替换为
。这样就可以解析JSON了

编辑 在本例中,还可以使用一种更危险但可接受的方法,即使用
eval()
,因为
在JavaScript中被视为有效的字符串声明符,因此您可以执行以下操作:

a = "{'sentiments': [['1485925200000', '0.0636363636364']]}"
JSON.parse(a.replace(/'/g,'"'))

因为我的评论格式不好,所以我提供了一个答案

将JSON格式更改为以下有效格式,将所有的
'
替换为


a=`{“感想”:[[“1485925200000”,“0.06364”]}

由于我的评论格式不好,我正在提供答案

将JSON格式更改为以下有效格式,将所有的
'
替换为


a=`{“情感”:[[“1485925200000”,“0.06364”]}

使用
而不是
JSON.parse(a.replace(/'/g,“))@在“情感”一词之前的Sundin?每个
'
的例子,比如
a=`{“情感”:[[[1485925200000”,“0.06364”]}
你的意思是。。。将字符串转换为json字符串?javascript对象?你是怎么得到这个的。。。一串它不是有效的json,因此无法解析为json。请使用
而不是
json.parse(a.replace(/'/g'))
@在“情感”一词之前的Sundin?每个
'
的例子,比如
a=`{“情感”:[[[1485925200000”,“0.06364”]}
你的意思是。。。将字符串转换为json字符串?javascript对象?你是怎么得到这个的。。。一串它不是有效的json,因此无法解析为json。我的意思是。。。它是正确的,直到字符串包含包含单引号的字符串。这个对的解决这个问题的方法是修复源代码,而不是在一个应该是json的字符串上运行正则表达式。解决您的用例@KevinBWorked像一个符咒:)
/\'/g
可能只是
/'/g
无需转义!我是说。。。它是正确的,直到字符串包含包含单引号的字符串。这个对的解决这个问题的方法是修复源代码,而不是在一个应该是json的字符串上运行正则表达式。解决您的用例@KevinBWorked像一个符咒:)
/\'/g
可能只是
/'/g
无需转义!