简体   繁体   English

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

[英]How to assign JSON string to Javascript variable?

What is the correct way to assign a JSON string to a variable?将 JSON 字符串分配给变量的正确方法是什么? I keep getting EOF errors.我不断收到 EOF 错误。

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

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

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() .更简单的方法是使用JSON.stringify()将现有对象转换为字符串。 Would recommend this as much as possible as there is very little chance of making a typo error.会尽可能推荐这个,因为犯错的可能性很小。

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

var json = JSON.stringify(obj);

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);

I think you should use JSON.stringify function.我认为你应该使用 JSON.stringify 函数。 See the answers here - Convert JS object to JSON string在此处查看答案 - 将 JS 对象转换为 JSON 字符串

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

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

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM