---
schema_version: "1"
id: 72f74b1cdbfc4d2dd1dfeee87cdbb3d4d9e8a9172c908dfcd2eee990b43d8c07
title: JSON キーの名前変更
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/dataweave/2.3/dataweave-cookbook-rename-keys.md
canonical_url: https://docs.mulesoft.com/jp/dataweave/2.3/dataweave-cookbook-rename-keys
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 69a2e8c5ddd9c0ea72def447cfa29460759a336d143e43e6146f58868484d326
description: MuleSoft Documentation Site
release: "2.3"
latest: false
---
# JSON キーの名前変更

この DataWeave の例では、JSON オブジェクトの一部のキーの名前を変更し、出力の他のキーの名前はすべてそのままにします。 開始する前に、DataWeave バージョン 2 (​`%dw 2.0`​) は Mule 4 アプリケーションを対象とすることに注意してください。Mule 3 アプリケーションの場合、Mule 3.9 ドキュメントセットの DataWeave バージョン 1 (​[`%dw 1.0`](#3.9@mule-runtime::dataweave-examples.adoc)​) の例を参照してください。他の Mule バージョンの場合は、目次の Mule Runtime バージョンセレクターを使用できます。

この例では、次の関数を使用します。

- JSON オブジェクトの ​`key:value`​ ペアを調べる ​`mapObject`​。
- どのような場合にキーの名前を変更するのかを単独で決定する ​`if`​。
- 新しい名前の 2 つのキーを除くすべてのキーの名前を保持する ​`if`​ と ​`and`​。
- キーの型を String (文字列) に強制変換する ​`as`​。

DataWeave スクリプト:

```dataweave
%dw 2.0
output application/json
---
payload.flights map (flight) -> {
    (flight mapObject (value, key) -> {
        (emptySeats: value) if(key as String == 'availableSeats'),
        (airline: value) if(key as String == 'airlineName'),
        ((key):value) if(key as String !='availableSeats' and key as String != 'airlineName')
    })
}
```

入力 JSON ペイロード:

```json
{
  "flights":[
  {
  "availableSeats":45,
  "airlineName":"Ryan Air",
  "aircraftBrand":"Boeing",
  "aircraftType":"737",
  "departureDate":"12/14/2017",
  "origin":"BCN",
  "destination":"FCO"
  },
  {
  "availableSeats":15,
  "airlineName":"Ryan Air",
  "aircraftBrand":"Boeing",
  "aircraftType":"747",
  "departureDate":"08/03/2017",
  "origin":"FCO",
  "destination":"DFW"
  }]
}
```

出力 JSON:

```json
[
  {
    "emptySeats": 45,
    "airline": "Ryan Air",
    "aircraftBrand": "Boeing",
    "aircraftType": "737",
    "departureDate": "12/14/2017",
    "origin": "BCN",
    "destination": "FCO"
  },
  {
    "emptySeats": 15,
    "airline": "Ryan Air",
    "aircraftBrand": "Boeing",
    "aircraftType": "747",
    "departureDate": "08/03/2017",
    "origin": "FCO",
    "destination": "DFW"
  }
]
```

より管理しやすい方法で同じ出力を生成するには、DataWeave パターン一致を使用します。

この例では、以下の関数とステートメントを使用します。

- JSON オブジェクトの ​`key:value`​ ペアを調べる ​`mapObject`​。
- 入力の各キーに対する ​`match`​。
- 入力内の一致するキーの名前を変更する ​`case`​ ステートメント。
- 名前の変更を必要としないキーの名前を保持する ​`else`​ ステートメント。

DataWeave スクリプト:

```dataweave
%dw 2.0
output application/json
fun renameKey(key: Key) = key match {
    case "availableSeats" -> "emptySeats"
    case "airlineName" -> "airline"
    else -> (key)
}
---
payload.flights map (flight) ->
flight mapObject (value, key) -> {
    (renameKey(key)) : value
}
```

入力 JSON ペイロード:

```json
{
  "flights":[
  {
  "availableSeats":45,
  "airlineName":"Ryan Air",
  "aircraftBrand":"Boeing",
  "aircraftType":"737",
  "departureDate":"12/14/2017",
  "origin":"BCN",
  "destination":"FCO"
  },
  {
  "availableSeats":15,
  "airlineName":"Ryan Air",
  "aircraftBrand":"Boeing",
  "aircraftType":"747",
  "departureDate":"08/03/2017",
  "origin":"FCO",
  "destination":"DFW"
  }]
}
```

出力 JSON:

```json
[
  {
    "emptySeats": 45,
    "airline": "Ryan Air",
    "aircraftBrand": "Boeing",
    "aircraftType": "737",
    "departureDate": "12/14/2017",
    "origin": "BCN",
    "destination": "FCO"
  },
  {
    "emptySeats": 15,
    "airline": "Ryan Air",
    "aircraftBrand": "Boeing",
    "aircraftType": "747",
    "departureDate": "08/03/2017",
    "origin": "FCO",
    "destination": "DFW"
  }
]
```

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

- [存在する項目の出力](https://docs.mulesoft.com/jp/dataweave/2.3/dataweave-cookbook-output-a-field-when-present)
- [定義に基づいた動的なマップ](https://docs.mulesoft.com/jp/dataweave/2.3/dataweave-cookbook-map-based-on-an-external-definition)
- [関数を引数として渡す](https://docs.mulesoft.com/jp/dataweave/2.3/dataweave-cookbook-pass-functions-as-arguments)

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

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