---
schema_version: "1"
id: 85f70a090950b3593c8ffc732c0d1b6024e6eb57e7601006a1e9d27745768fce
title: XML から JSON への変換
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/dataweave/2.5/dataweave-cookbook-perform-basic-transformation.md
canonical_url: https://docs.mulesoft.com/jp/dataweave/2.5/dataweave-cookbook-perform-basic-transformation
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 8003b4b2332bfb1668a92a5bff14e19a4bbb3a08667edda23fdf1335614f62a3
description: MuleSoft Documentation Site
release: "2.5"
latest: false
---
# XML から JSON への変換

これらのシンプルな DataWeave の例では XML 入力を JSON 出力に正常に変更します。通常、複雑な変換では ​`map`​ または ​`mapObject`​ 関数を使用する必要があります。 開始する前に、Mule 4 アプリケーションでは DataWeave のバージョン 2.x が使用されることに注意してください。Mule 3 アプリケーションでの DataWeave については、​[DataWeave バージョン 1.2 の例](#1.2@dataweave::dataweave-examples.adoc)​を参照してください。 他の DataWeave バージョンの場合は、DataWeave の目次のバージョンセレクターを使用できます。

次の DataWeave スクリプトは、出力項目の名前 (またはキー) を入力項目の値にマップします。入力項目は、関数を含まないセレクター式で指定します。このスクリプトでは、一部の項目の順序や名前も変更します。

DataWeave スクリプト:

```dataweave
%dw 2.0
output application/json
---
{
        address1: payload.order.buyer.address,
        city: payload.order.buyer.city,
        country: payload.order.buyer.nationality,
        email: payload.order.buyer.email,
        name: payload.order.buyer.name,
        postalCode: payload.order.buyer.postCode,
        stateOrProvince: payload.order.buyer.state
}
```

入力 XML ペイロード:

```xml
<?xml version='1.0' encoding='UTF-8'?>
<order>
  <product>
    <price>5</price>
    <model>MuleSoft Connect 2016</model>
  </product>
  <item_amount>3</item_amount>
  <payment>
    <payment-type>credit-card</payment-type>
    <currency>USD</currency>
    <installments>1</installments>
  </payment>
  <buyer>
    <email>mike@hotmail.com</email>
    <name>Michael</name>
    <address>Koala Boulevard 314</address>
    <city>San Diego</city>
    <state>CA</state>
    <postCode>1345</postCode>
    <nationality>USA</nationality>
  </buyer>
  <shop>main branch</shop>
  <salesperson>Mathew Chow</salesperson>
</order>
```

出力 JSON:

```json
{
  "address1": "Koala Boulevard 314",
  "city": "San Diego",
  "country": "USA",
  "email": "mike@hotmail.com",
  "name": "Michael",
  "postalCode": "1345",
  "stateOrProvince": "CA"
}
```

次の例では、DataWeave スクリプトで同じキーの複数の XML ノードが含まれる XML を有効な JSON に変換し、同じキーの JSON ノードを作成するのではなく配列を作成します。

DataWeave スクリプト:

```dataweave
%dw 2.0
output application/json duplicateKeyAsArray=true
---
payload
```

入力 XML ペイロード:

```xml
<order>
  <product-lineitems>
	<product-lineitem>
	   <net-price>100.0</net-price>
	</product-lineitem>
	<product-lineitem>
	     <net-price>498.00</net-price>
	</product-lineitem>
  </product-lineitems>
</order>
```

出力 JSON:

```json
{
  "order": {
    "product-lineitems": {
      "product-lineitem": [
      {
        "net-price": "100.0"
      },
      {
        "net-price": "498.00"
      }
      ]
    }
  }
}
```

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

- [データの抽出](https://docs.mulesoft.com/jp/dataweave/2.5/dataweave-cookbook-extract-data)
- [DataWeave を使用したデータのマップ](https://docs.mulesoft.com/jp/dataweave/2.5/dataweave-cookbook-map)
- [キーの名前の変更](https://docs.mulesoft.com/jp/dataweave/2.5/dataweave-cookbook-rename-keys)

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

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