我编写了以下JavaScript函数(较大“类”的一部分),以帮助确保任何人在“values”属性中使用对象存储属性值。按名称访问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,或者我会面临分裂字符串和手动建立结构URE?
注意:我意识到,即使首选结构有点奇怪,但有一个Java对象映射到期望这种格式,所以我没有任何选项。
为何你认为解析字符串(即由点分裂)不干净?是的,你将不得不。 – Bergi 2013-02-18 18:40:07