如何将JSON字符串分配给Javascript变量?

时间:2015-07-12 20:13:33

标签: javascript json

将JSON字符串分配给变量的正确方法是什么?我不断收到EOF错误。

var somejson = "{
    "key1": "val1",
    "key2": "value2"
}";

http://jsfiddle.net/x7rwq5zm/1/

4 个答案:

答案 0 :(得分:13)

你没有正确逃脱。你确定你这样做:

var somejson = "{ \"key1\": \"val1\",\"key2\": \"value2\"}";

更简单的方法是使用JSON.stringify()将现有对象转换为字符串。会尽可能地推荐这个,因为输入拼写错误的可能性很小。

var obj = {
    key1: "val1",
    key2: "value2"
};

var json = JSON.stringify(obj);

答案 1 :(得分:6)

如果你想要字符串,而不是对象(注意'而不是"

var somejson =  '{ "key1": "val1", "key2": "value2" }';

如果你想要一个用多行声明的字符串,而不是对象(换行在Javascript中是有意义的)

var somejson =  '{'
 + '"key1": "val1",' 
 + '"key2": "value2"' 
 + '}';

如果你想要对象,而不是字符串

var somejson =  { "key1": "val1", "key2": "value2" };

如果你想要一个字符串

var somejson =  JSON.stringify(someobject);

答案 2 :(得分:0)

我认为你应该使用JSON.stringify函数。 请在此处查看答案 - Convert JS object to JSON string

var somejson = {
    "key1": "val1",
    "key2": "value2"
};
somjson = JSON.stringify(somejson);

答案 3 :(得分:0)

将 JSON 字符串值分配给变量的最佳方法。

var somejson = JSON.parse('{"key1": "val1","key2": "value2"}')