使用字符串类型键创建javascript对象

时间:2015-04-15 21:00:19

标签: javascript node.js

我想创建一个像这样的对象

var key = "key";
var obj={};
obj[key] = "value";

我需要的输出是

{ "key":"valie"}

键类型必须是字符串,因为我有#12:5,#12:89(orientDB ids)等键。 原因:- 因为orientDB的embeddedList不接受没有引号的任何键 感谢

3 个答案:

答案 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(没有首都首字母)。