我一直在尝试创建一个动态命名的JSON属性,但我一直在努力解决错误.老实说,我不知道这是否可以用Javascript实现.无论如何,这是我的问题.
我们假设我正在创建一个JSON对象,如下面的代码:
var DTO = { 'NewObject' : GetFormData() };
var DTO = { 'UpdateObject' : GetFormData() };
var DTO = { 'DelObject' : GetFormData() };
Run Code Online (Sandbox Code Playgroud)
现在我一直在尝试动态命名JSON属性,因为有类似的东西'New' + ClassName(ClassName是一个带有字符串值的var),但它给了我一个语法错误.有没有办法做到这一点,成为:
var DTO = { 'New' + ClassName : GetFormData() };
var DTO = { 'Update' + ClassName : GetFormData() };
var DTO = { 'Delete' + ClassName : GetFormData() };
Run Code Online (Sandbox Code Playgroud)
我非常感谢你的帮助.谢谢.
ins*_* me 35
这会满足你的需求吗?
var DTO = {}; DTO['New' + ClassName] = GetFormData();
Run Code Online (Sandbox Code Playgroud)
Dyl*_*ogg 15
使用 ECMAScript 6,您可以在对象属性定义中使用计算属性名称。
例如,您可以简单地编写:
var DTO = { ['New' + ClassName] : GetFormData() };
Run Code Online (Sandbox Code Playgroud)
更多信息:http : //es6-features.org/#ComputedPropertyNames
Que*_*tin 10
这只是"一个对象".JSON是字符串的序列化,而不是对象类型.
如果要将变量用作属性名称,则必须先创建对象,然后使用方括号表示法分配数据.
var foo = {};
var bar = 'baz';
foo[bar] = '123';
alert(foo.baz);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23148 次 |
| 最近记录: |