如何将var string = "{email: godzilla@smash.com}"
解析为对象?
我已尝试var object = JSON.parse(string);
,它会返回错误
Uncaught SyntaxError: Unexpected token e(…)
var object eval('(' + string + ')');
无法处理'@'。
答案 0 :(得分:1)
归功于@ iam-decoder - 查看对初始问题的评论以获取更多信息。
两个成功为我返回对象的解决方案。
首先 - 将值保存为带有转义字符的字符串,如下所示:
var string = "{\"email\": \"user@domain.com\"}"
var result = JSON.parse(string);
第二 - 简单地使用JSON.stringify作为对象而不是构建字符串,然后解析:
var string = JSON.stringify(object);
var result = JSON.parse(string);
答案 1 :(得分:0)
您的字符串无法转换为JavaScript对象,因为您使用的是无效的JSON字符串。变化
var string = "{email: godzilla@smash.com}";
到
var string = '{"email": "godzilla@smash.com"}';
或
var string = '{"email": "godzilla@smash.com"}';
答案 2 :(得分:0)
您可以将此语法与JSON
一起使用var obj = JSON.parse('{"email":"godzilla@smash.com"}');
或带有Eval的这个
var obj = eval('('+'{email:"godzilla@smash.com"}'+')');