更新

update(objectValue: Object, fieldName: String): UpdaterValueProvider<Object>

この ​update​ 関数は、指定された文字列値でオブジェクトの項目を更新します。

この関数は、指定された項目と値を含む新しいオブジェクトを返します。

DataWeave バージョン 2.2.2 で導入されました。

パラメーター

名前 説明

objectValue

更新するオブジェクト。

fieldName

項目の名前を提供する文字列。

次の例では、指定された値でオブジェクト ​{name: "Mariano"}​ の ​name​ 項目を更新します。

ソース

%dw 2.0
import * from dw::util::Values
output application/json
---
{name: "Mariano"} update "name" with "Data Weave"

出力

{
  "name": "Data Weave"
}

update(objectValue: Object, fieldName: PathElement): UpdaterValueProvider<Object>

この ​update​ 関数は、指定された ​PathElement​ 値でオブジェクト項目を更新します。

この関数は、指定された項目と値を含む新しいオブジェクトを返します。

DataWeave バージョン 2.2.2 で導入されました。

パラメーター

名前 説明

objectValue

更新するオブジェクト。

fieldName

項目名を指定する ​PathElement​。

次の例では、オブジェクト ​{name: "Mariano"}​ の ​name​ 項目の値を更新します。これは ​field("name")​ を使用して ​PathElement​ を返し、それを ​update​ に渡します。​with "Data Weave"​ を使用して ​name​ の値 (​Data Weave​) を指定します。

ソース

%dw 2.0
import * from dw::util::Values
output application/json
---
{name: "Mariano"} update field("name") with "Data Weave"

出力

{
  "name": "Data Weave"
}

update(arrayValue: Array, indexToUpdate: Number): UpdaterValueProvider<Array>

指定された値で配列インデックスを更新します。

この ​update​ 関数は、指定されたインデックスの値を変更する新しい配列を返します。

DataWeave バージョン 2.2.2 で導入されました。

パラメーター

名前 説明

objectValue

更新する配列。

indexToUpdate

更新する配列のインデックス。インデックスは数値である必要があります。

次の例では、入力配列 ​[1,2,3]​ 内の値 ​2​ (インデックスは ​1​) を ​5​ に置き換えます。

ソース

%dw 2.0
import * from dw::util::Values
output application/json
---
[1,2,3] update 1 with 5

出力

[
   1,
   5,
   3
 ]

update(arrayValue: Array, indexToUpdate: String): UpdaterValueProvider<Array>

この ​update​ 関数は、指定された文字列値で、指定された配列内のすべてのオブジェクトを更新します。

DataWeave バージョン 2.2.2 で導入されました。

パラメーター

名前 説明

objectValue

更新するオブジェクトの配列。

indexToUpdate

更新する項目の名前を提供する文字列。

次の例では、オブジェクトの配列内の ​role​ 項目の値を更新します。

ソース

%dw 2.0
import * from dw::util::Values
output application/json
---
[{role: "a", name: "spiderman"}, {role: "b", name: "batman"}] update "role" with "Super Hero"

出力

[{
   "role": "Super Hero",
   "name": "spiderman"
 },
 {
   "role": "Super Hero",
   "name": "batman"
}]

update(arrayValue: Array, indexToUpdate: PathElement): UpdaterValueProvider<Array>

この ​update​ 関数は、指定された ​PathElement​ 値で、指定された配列のインデックスを更新します。

この関数は、指定されたインデックスの位置に指定された値が含まれる新しい配列を返します。

DataWeave バージョン 2.2.2 で導入されました。

パラメーター

名前 説明

objectValue

更新する配列。

indexToUpdate

更新する配列のインデックス。インデックスは ​PathElement​ として指定する必要があります。

次の例では、入力配列内の要素の値を更新します。これは ​index(1)​ を使用してインデックスを ​PathElement​ として返し、それを ​update​ に渡します。このインデックスの位置にある値 ​2​ を ​5​ に置き換えます。

ソース

%dw 2.0
import * from dw::util::Values
output application/json
---
[1,2,3] update index(1) with 5

出力

[
   1,
   5,
   3
 ]

update(value: Array | Object | Null, path: Array<String | Number | PathElement>): UpdaterValueProvider<Array | Object | Null>

指定された値で、指定されたパスの位置にある値を更新します。

DataWeave バージョン 2.2.2 で導入されました。

パラメーター

名前 説明

objectValue

更新する値。配列、オブジェクト、または null 値を受け入れます。

path

更新するパス。パスは文字列、数値、または ​PathElement​ の配列である必要があります。

次の例では、ユーザーの名前を更新します。

ソース

%dw 2.0
import * from dw::util::Values
output application/json
---
{user: {name: "Mariano"}} update ["user", field("name")] with "Data Weave"

出力

{
   "user": {
     "name": "Data Weave"
   }
 }

この例では、いずれかの繰り返し項目を更新します。

入力

<users>
  <user>
    <name>Phoebe</name>
    <language>French</language>
  </user>
  <user>
    <name>Joey</name>
    <language>English</language>
  </user>
</users>

ソース

%dw 2.0
import * from dw::util::Values
output application/xml
---
payload update ["users", "user", "language"] with (if ($ == "English") "Gibberish" else $)

出力

<users>
  <user>
    <name>Phoebe</name>
    <language>French</language>
  </user>
  <user>
    <name>Joey</name>
    <language>Gibberish</language>
  </user>
</users>

update(value: Null, toUpdate: Number | String | PathElement): UpdaterValueProvider<Null>

update​ を ​null​ 値に使用できるようにするヘルパー関数。

DataWeave バージョン 2.2.2 で導入されました。