我想在node.js中创建一个看起来像这样的json对象;
{ WantThisName: { property_length: 8 } }
这是我的代码;
var property_name = "WantThisName"
var length = 8;
var Obj_bin;
Obj_bin= {property_name: {property_length:length} };
console.log (Obj_bin);
控制台输出是;
{ property_name: { property_length: 8 } }
问题在于property_name
没有获取变量property_name
的内容。
答案 0 :(得分:0)
试
Obj_bin = {};
Obj_bin[property_name] = { property_length: 8 };
答案 1 :(得分:0)
您可以使用计算(动态)属性名称:
> foo = "foozz"
'foozz'
> {[foo]: 42}
{ foozz: 42 }
它们是es2015(https://github.com/lukehoban/es6features#enhanced-object-literals)的增强对象文字的一部分。
对于你的例子:
> var property_name = "WantThisName";
var property_name = "WantThisName";
undefined
> var length = 8;
undefined
> {[property_name]: { property_length: length}}
{ WantThisName: { property_length: 8 } }
>