DataPower API Gateway

Configuring the XML to JSON policy for DataPower API Gateway

Follow these steps to configure the XML to JSON policy for DataPower® API Gateway in the assembly user interface.

About this task

Note: This topic describes the XML to JSON policy implementation in the DataPower API Gateway. If you are using the DataPower Gateway (v5 compatible), see Configuring the Set Variable policy for DataPower Gateway (v5 compatible). For more information about the different types of gateway, see API Connect gateway types.

This topic describes how to configure the policy in the assembly user interface; for details on how to configure the policy in your OpenAPI source, see xml-to-json.


  1. In the navigation pane, click Develop icon in the navigation pane Develop, then select the APIs tab.
    The Develop page opens.
  2. Click the title of the API that you want to work with, or create a new API.
  3. Select the Gateway tab, then click Policies in the navigation pane.
    For more information about working with the assembly editor for an API, see The assembly editor.
  4. Find the XML to JSON policy in the palette, and drag the policy onto your canvas.
  5. Specify the following properties.
    Table 1. XML to JSON policy properties
    Property label Required Description Data type
    Title Yes The title of the policy.

    The default value is xml-to-json.

    Description No A description of the policy. string
    Input No The input message to convert. Specify the name of a variable in the API context. variableName.body, the message payload, represents the XML input to convert. The default value of the variable is message and message.body is the default input. string
    Output No The output message to store the conversion result. Specify the name of a variable in the API context. variableName.body represents the result of conversion from XML format to JSON format. When the specified input message is the default message, the default output is message.body. Otherwise, when the input message is the variable my-message-variable, for example, the default output is my-message-variable.body.

    The variable cannot be any read-only in the API context.

    Conversion type No The conversion type that determines the target format of the output. The following options are available:
    • badgerFish: BadgerFish convention is used to determine the target conversion format of the output.
    • apicv5: apicv5 convention is used to determine the target conversion format of the output.
  6. Specify a version for the policy by clicking the Source icon OpenAPI Source icon, and completing the version section of the policy YAML. For example:
      - xml-to-json:
          version: 2.0.0
          title: xml-to-json
    You must specify a version for the policy that is compatible with the gateway that you are using. When the API is published, if the version is incompatible with the gateway, a validation error is thrown that specifies the available versions.
  7. Click Save.


For example, the following simple XML object
{ "a": { "$" : "hello" } }
The following XML object with an attribute
<a type="world">hello</a>
{ "a": { "$" : "hello", "@type" : "world" } }

For more examples, see xml-to-json.