私は値のリストを含むマップを持っています。そのリストのすべての値をその値のコード化/暗号化バージョンで更新する必要があります。Groovy:リスト内のすべての値を変更した値に置き換えます。
マップとリストはどこにでもネストすることができ、私は何を変更するかのパスが与えられています。例えばmyMap.myList.*myObject
リストの私のマップは次のようになります。
myMap = [myList : [[myObject : "aaa"], [myObject : "bbb"]]];
path = 'myList*.myObject';
result = Eval.x(myMap, 'x.' + path + '="somenewvalue"');
この作品:値を試してみて、更新する'myList*myObj'
コード:私はこのパスに与えられています
mymap {"myList" : [{myObject : "aaa" }, {myObject : "bbb"}]}
すべての値を 'somenewvalue'に置き換えます。ただし、各値を元の値の暗号化されたバージョンに置き換える必要があります。つまり、aaaとenc 'bbb'などの暗号化されたバージョンで、 'aaa'と 'bbb'の暗号化されたバージョンです。
しかし、これはすべての値を同じ値に設定します。どのように私は異なるものに値を設定できますか?
クリーンアップすることができ確信しています擬似コードではなく、試した実際の入力マップとコードを入れます。 –
が含まれています。 –