将JSON字符串分配给变量的正确方法是什么?我不断收到EOF错误。
var somejson = "{
"key1": "val1",
"key2": "value2"
}";
答案 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"}')