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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/31372120/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-23 06:36:58  来源:igfitidea点击:

How to assign JSON string to Javascript variable?

javascriptjson

提问by 4thSpace

What is the correct way to assign a JSON string to a variable? I keep getting EOF errors.

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

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

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

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

回答by Carl K

You have not escaped properly. You make sure you do:

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

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

The easier way would be to just convert an existing object to a string using JSON.stringify(). Would recommend this as much as possible as there is very little chance of making a typo error.

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

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

var json = JSON.stringify(obj);

回答by Dylan Watt

If you want the string, not the object (note the 'instead of ")

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

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

If you want a string declared with multiple lines, not the object (newline is meaningful in Javascript)

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

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

If you want the object, not the string

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

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

If you want a string generically

如果你一般想要一个字符串

var somejson =  JSON.stringify(someobject);

回答by Ankur Anand

I think you should use JSON.stringify function. See the answers here - Convert JS object to JSON string

我认为你应该使用 JSON.stringify 函数。在此处查看答案 -将 JS 对象转换为 JSON 字符串

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