---
schema_version: "1"
id: 42171bbe3fbfb2870c5b76e0831cca105da975cbc1baeb6886ac9587179af2fe
title: オブジェクトキーのマップ
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/dataweave/2.8/dataweave-cookbook-map-an-object-key.md
canonical_url: https://docs.mulesoft.com/jp/dataweave/2.8/dataweave-cookbook-map-an-object-key
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 4ab49acb2439e4545f457926f5da6c1fe41ecd2abfb2e4a9db98b7a4e1925aa8
description: MuleSoft Documentation Site
release: "2.8"
latest: false
---
# オブジェクトキーのマップ

この DataWeave 例では、​`mapObject`​ 関数を使用してオブジェクトの配列を反復処理し、指定された条件の値と一致する新しいオブジェクトを追加します。

開始する前に、Mule 4 アプリケーションでは DataWeave のバージョン 2.x が使用されることに注意してください。Mule 3 アプリケーションでの DataWeave については、​[DataWeave バージョン 1.2 の例](#1.2@dataweave::dataweave-examples.adoc)​を参照してください。 他の DataWeave バージョンの場合は、DataWeave の目次のバージョンセレクターを使用できます。

入力はシートが含まれる JSON オブジェクトで構成されています。すべてのシートの値 (たとえば、​`(sheet)1`​、​`(sheet)2`​) はオブジェクトの配列です。DataWeave スクリプトでは、シート番号が ​`append`​ オブジェクトの ​`Id`​ キーの値に等しい場合、別のオブジェクト ​`append`​ を最後の項目として一致するシート配列に追加します。 例では、​`fun extractNumber`​ 関数を使用してシートページ名 ​`pageName`​ からシート番号を抽出します。 続いて、DataWeave 関数の ​`mapObject`​ はルートのすべてのシートで反復され、​`extractNumber`​ が ​`append.Id`​ 値に一致する場合、この関数によって ​`append`​ オブジェクトが一致するシートオブジェクトに追加されます。

DataWeave スクリプト:

```dataweave
%dw 2.0
output application/json

var append =
    {
    "Id": "2",
    "Access": "4444",
    "Subteam": "1",
    }

fun extractNumber(pageName: Key) =
     (pageName as String match  /\(sheet\)([0-9]+)/)[1]
---
payload mapObject ((value, key, index) -> do {
        if(extractNumber(key) == append.Id)
            {(key): value << append}
         else
            {(key): value}
})
```

入力 JSON ペイロード:

```json
{
"(sheet)1": [
{
  "Id": 1.0,
  "Team": "Mule",
  "timestamp": "2019-09-26T16:37:54",
  "Access": 12431
}
],
"(sheet)2": [
{
  "Id": 2.0,
  "Team": "Max",
  "timestamp": "2019-09-26T16:37:54",
  "Access": 81243
},
{
  "Id": 2.0,
  "Team": "Max Mule",
  "timestamp": "2019-09-26T18:00:54",
  "Access": 67676
}
]
}
```

出力 JSON:

```json
{
  "(sheet)1": [
    {
      "Id": 1.0,
      "Team": "Mule",
      "timestamp": "2019-09-26T16:37:54",
      "Access": 12431
    }
  ],
  "(sheet)2": [
    {
      "Id": 2.0,
      "Team": "Max",
      "timestamp": "2019-09-26T16:37:54",
      "Access": 81243
    },
    {
      "Id": 2.0,
      "Team": "Max Mule",
      "timestamp": "2019-09-26T18:00:54",
      "Access": 67676
    },
    {
      "Id": "2",
      "Access": "4444",
      "Subteam": "1"
    }
  ]
}
```

## [](#関連する例)関連する例

- [DataWeave を使用したデータのマップ](https://docs.mulesoft.com/jp/dataweave/2.8/dataweave-cookbook-map)
- [オブジェクト要素の配列としてのマップ](https://docs.mulesoft.com/jp/dataweave/2.8/dataweave-cookbook-map-object-elements-as-an-array)
- [データの抽出](https://docs.mulesoft.com/jp/dataweave/2.8/dataweave-cookbook-extract-data)
- [XML から JSON への変換](https://docs.mulesoft.com/jp/dataweave/2.8/dataweave-cookbook-perform-basic-transformation)
- [キーの名前の変更](https://docs.mulesoft.com/jp/dataweave/2.8/dataweave-cookbook-rename-keys)

## [](#関連情報)関連情報

- [DataWeave の型](https://docs.mulesoft.com/jp/dataweave/2.8/dataweave-types)
- [DataWeave セレクター](https://docs.mulesoft.com/jp/dataweave/2.8/dataweave-selectors)
- [DataWeave の解説書](https://docs.mulesoft.com/jp/dataweave/2.8/dataweave-cookbook)