如何解析一个对象的字符串?

时间:2015-10-13 17:43:08

标签: javascript json string object

如何将var string = "{email: godzilla@smash.com}"解析为对象?

我已尝试var object = JSON.parse(string);,它会返回错误

Uncaught SyntaxError: Unexpected token e(…)

var object eval('(' + string + ')');无法处理'@'。

3 个答案:

答案 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"}'+')');