我编写了以下 JavaScript 函数(较大“类”的一部分)以帮助确保使用该对象的任何人都将属性值存储在“值”属性中。
function _updateAttributes(attribute, value) {
_attributes[attribute] = { values: { value: value }};
}
它适用于平面结构,但当我开始尝试将它用于子属性时就崩溃了。
运行以下代码后:
myEntity.updateAttribute('name', 'Frankenstein');
myEntity.updateAttribute('name.source', 'John Doe');
我想要以下结构:
{
"attributes": {
"name": {
"values": {
"value": "Frankenstein"
},
"source": {
"values": {
"value": "JohnDoe"
}
}
}
}
}
相反,它是这样出来的:
{
"attributes": {
"name": {
"values": {
"value": "Frankenstein"
}
},
"name.source": {
"values": {
"value": "JohnDoe"
}
}
}
}
是否有任何干净的方法来编写这个 JavaScript,或者我会面临拆分字符串并手动构建结构的问题?
注意:我意识到即使是首选结构也有点奇怪,但是我映射到的 Java 对象需要这种格式,所以我在这里没有任何选择。