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

如何将JSON字符串分配给Javascript变量?,javascript,json,Javascript,Json,将JSON字符串分配给变量的正确方法是什么?我不断地犯错误 var somejson = "{ "key1": "val1", "key2": "value2" }"; 您没有正确逃脱。您必须确保: var somejson = "{ \"key1\": \"val1\",\"key2\": \"value2\"}"; 更简单的方法是使用JSON.stringify()将现有对象转换为字符串。我会尽可能地推荐这一点,因为几乎不可能出现打字错误 var obj = {

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

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

您没有正确逃脱。您必须确保:

var somejson = "{ \"key1\": \"val1\",\"key2\": \"value2\"}";
更简单的方法是使用
JSON.stringify()
将现有对象转换为字符串。我会尽可能地推荐这一点,因为几乎不可能出现打字错误

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

var json = JSON.stringify(obj);

我认为您应该使用JSON.stringify函数。 请看这里的答案-


如果您想要的是字符串,而不是对象(请注意
,而不是

如果希望用多行声明字符串,而不是对象(换行符在Javascript中有意义)

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

var somejson =  { "key1": "val1", "key2": "value2" };
如果你想要一个字符串

var somejson =  JSON.stringify(someobject);

我猜您正在寻找
JSON.parse()
你的答案肯定是正确的,但可能比逃避一切更容易使用。很好知道。出于好奇,什么环境?我从来没有遇到过它。我假设它会被实例化为字符串,任何后续的解析都不知道该字符串是如何生成的。@DylanWatt想单击“编辑”,单击“删除”e、 累了,哈哈。我在另一个使用单引号的项目中的nodejs中遇到了一些问题。尽管如此,在更新版本>0.10.x中,这可能不再是一个问题
var somejson =  '{'
 + '"key1": "val1",' 
 + '"key2": "value2"' 
 + '}';
var somejson =  { "key1": "val1", "key2": "value2" };
var somejson =  JSON.stringify(someobject);