我一直在尝试创建一个动态命名的JSON属性,但我不断遇到错误。说实话,我不知道这是否可以用JavaScript实现。不管怎样,这是我的问题。
让我们假设我正在创建一个JSON对象,如下代码所示:
var DTO = { 'NewObject' : GetFormData() };
var DTO = { 'UpdateObject' : GetFormData() };
var DTO = { 'DelObject' : GetFormData() };
现在我一直在尝试动态命名JSON属性,因为使用类似'New' + ClassName
(ClassName
是一个带有字符串值的var)的东西,但它给了我一个语法错误。有没有办法做到这一点,成为这样的:
var DTO = { 'New' + ClassName : GetFormData() };
var DTO = { 'Update' + ClassName : GetFormData() };
var DTO = { 'Delete' + ClassName : GetFormData() };
我真的很感激你的帮助。谢谢
5条答案
按热度按时间roejwanj1#
这个适合你的需要吗?
vsnjm48y2#
使用ECMAScript 6,可以在对象属性定义中使用计算属性名称。
例如,你可以简单地写:
更多信息:http://es6-features.org/#ComputedPropertyNames
mnemlml83#
这只是一个“对象”。JSON是字符串的序列化,而不是对象类型。
如果要使用变量作为属性名,则必须首先创建一个对象,然后使用square bracket notation分配数据。
czq61nw14#
nhhxz33t5#
如果有人也需要保留以前的数据,那么使用下面的代码:
最终DTO将存储“新建”和“更新”字段。