我想创建一个像这样的对象
var key = "key";
var obj={};
obj[key] = "value";
我需要的输出是
{ "key":"valie"}
键类型必须是字符串,因为我有#12:5,#12:89(orientDB ids)等键。 原因:- 因为orientDB的embeddedList不接受没有引号的任何键 感谢
答案 0 :(得分:2)
您可能正在寻找JSON语法。
来自我的控制台的输出。
var key = "key"; //var not Var
var obj={}; //same here
obj[key] = "value";
"value"
obj
Object {key: "value"} //key is not in quotes, need to stringify!
JSON.stringify(obj);
"{"key":"value"}"
答案 1 :(得分:1)
javascript中的对象文字可以使用引用键声明:
{
"Okeli-dokeli": "Flanders",
"Doh!": "Simpson!"
}
您还可以使用括号语法为javascript中的键动态分配值:
var x = {};
x["A B C"] = "foo";
JSON格式基于javascript的子集,但具有始终引用的对象键。因此,将任何javascript对象转换为JSON将" stringify"钥匙:
> JSON.stringify( { a : 'b' } )
> "{"a":"b"}"
答案 2 :(得分:0)
如果您不想要嵌套对象,这也可以轻松实现:
var key = "key";
var obj={};
obj[key] = "value";
var s = "{\r\n";
for (var p in obj) s+= ' "'+p+'": "' + obj[p] + '"\r\n';
s += "}\r\n";
此外,它是var
,而不是Var
(没有首都首字母)。