如何将 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
How to assign JSON string to Javascript variable?
提问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"
}";
回答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);