---
schema_version: "1"
id: 26ab077010f87749437a6f40ebb045a5ac7b128f282dbde62e238a3d4e270d43
title: JSON Module の移行
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/mule-runtime/4.5/migration-connectors-json.md
canonical_url: https://docs.mulesoft.com/jp/mule-runtime/4.5/migration-connectors-json
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 9eb72b85a3dcfd9177882f588bb34c369ad6aeeb851f036aae8a550c109c628d
description: MuleSoft Documentation Site
release: "4.5"
latest: false
---
# JSON Module の移行

スキーマ検証用に Mule 3 にバンドルされていた JSON Module が、Mule 4 で新しい JSON Module に置き換わります。

JSON を使用する変換を移行するには、DataWeave を使用することをお勧めします。

## [](#transformers)トランスフォーマーの移行

Mule 3 の場合、多くのコンポーネントでは、項目にアクセスできるようペイロードは POJO である必要がありました。Mule 4 では、JSON ペイロードで直接 DataWeave をクエリ言語として使用し、ペイロードを中間ステップとして POJO に変換する必要性を完全に回避できます。

### [](#json-to-object-トランスフォーマー)JSON to Object トランスフォーマー

`json:json-to-object-transformer`​ に設定されるマッピングルールの場合は、DataWeave でルールを記述できます。

- Mule 3 の場合:
    
    例: マッパー設定で使用される Mixin
    
    ```java
    public abstract class AppleMixin
    {
        AppleMixin(@JsonProperty("bitten") boolean wasBitten)
        {
            super();
        }
    
    }
    ```
    
    例: マッパーを参照するトランスフォーマー
    
    ```xml
    <json:mapper name="myMapper">
        <json:mixin mixinClass="org.mule.module.json.transformers.AppleMixin"
                        targetClass="org.mule.tck.testmodels.fruit.Apple"/>
    </json:mapper>
    
    <flow name="flow">
        <json:json-to-object-transformer returnClass="org.mule.tck.testmodels.fruit.Apple"
                                         mapper-ref="myMapper"/>
    </flow>
    ```
- Mule 4 の場合:
    
    例: DataWeave をマッパーとして使用
    
    ```xml
    <flow name="flow">
        <ee:transform>
            <ee:message>
                <ee:set-payload>
                    <![CDATA[%dw 2.0
                        type apple = Object { class: "org.mule.tck.testmodels.fruit.Apple"}
                        output application/java
                        ---
                        {
                            wasBitten = bitten
                        } as apple
                    ]]>
                </ee:set-payload>
            </ee:message>
        </ee:transform>
    </flow>
    ```

Mule 4 ではマッパーや mixin クラスを定義する必要がありません。マッピングルールは DataWeave コードを使用して定義されます。

### [](#object-to-json-トランスフォーマー)Object to JSON トランスフォーマー

`json:object-to-json-transformer`​ のマッピングルールも DataWeave を使用して表されます。

Mule 3 の場合:

- 例: Mixin を使用したトランスフォーマー
    
    ```xml
    <flow name="flow">
        <json:object-to-json-transformer returnClass="org.mule.tck.testmodels.fruit.Apple">
            <json:serialization-mixin mixinClass="org.mule.module.json.transformers.AppleMixin"
                                      targetClass="org.mule.tck.testmodels.fruit.Apple"/>
    
        </json:object-to-json-transformer>
    </flow>
    ```

Mule 4 の場合:

- 例: DataWeave をマッパーとして使用
    
    ```xml
    <flow name="flow">
        <ee:transform>
            <ee:message>
                <ee:set-payload>
                    <![CDATA[%dw 2.0
                        output application/json
                        ---
                        {
                            bitten = wasBitten
                        }
                    ]]>
                </ee:set-payload>
            </ee:message>
        </ee:transform>
    </flow>
    ```

Mule 4 では変換で出力形式を設定できます。この場合は、変換関数が JSON ペイロードを返すように式で出力を ​`application/json`​ として定義します。

## [](#xslt)XSLT 操作の移行

Mule 4 の JSON Module は、XSLT マッピングに基づいて JSON を変換するコンポーネントは提供されていません。この場合には、次のような対処法があります。

- XSLT を DataWeave 変換に移行する (推奨)。
- XML Module の XSLT サポートを使用して最初にペイロードを XML に変換する。

Mule 4 の例: XSLT を使用した JSON の変換

```xml
<flow name="flow">
    ...
	<xml-module:xslt-transform>
	    <xml-module:content>#[output application/xml --- payload]</xml-module:content>
	    <xml-module:xslt>
	        (the XSLT transformation) ...
	    </xml-module:xslt>
	</xml-module:xslt-transform>
	...
</flow>
```

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

- [JSON Module](https://docs.mulesoft.com/jp/json-module/latest/)
- [DataWeave 言語](https://docs.mulesoft.com/jp/mule-runtime/4.5/dataweave)
- [XML Module](https://docs.mulesoft.com/jp/xml-module/latest/)