次の JavaScript 関数 (より大きな「クラス」の一部) を作成して、オブジェクトを使用するすべてのユーザーが属性値を「values」プロパティに格納できるようにしました。
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 オブジェクトにマッピングしているため、ここにはオプションがありません。