zoukankan      html  css  js  c++  java
  • MuleSoft json 转 xml

    MuleSoft json 转 xml

    背景

    使用MuleSoft将Json格式的数据转换为xml格式的。

    环境

    mulesoft runtime server: 4.15

    DataWeave : 2.0

    实现

    要转换的Json数据:

    {
        "name": "BeJson",
        "url": "http://www.bejson.com",
        "page": 88,
        "isNonProfit": true,
        "address": {
            "street": "科技园路.",
            "city": "江苏苏州",
            "country": "中国"
        },
        "links": [
            {
                "name": "Google",
                "url": "http://www.google.com"
            },
            {
                "name": "Baidu",
                "url": "http://www.baidu.com"
            },
            {
                "name": "SoSo",
                "url": "http://www.SoSo.com"
            }
        ]
    }

    转出的xml数据:

    <?xml version="1.0" encoding="UTF-8" ?>
    <root>
    <name>BeJson</name>
    <url>http://www.bejson.com</url>
    <page>88</page>
    <isNonProfit>true</isNonProfit>
    <address>
    <street>科技园路.</street>
    <city>江苏苏州</city>
    <country>中国</country>
    </address>
    <link>
    <name>Google</name>
    <url>http://www.google.com</url>
    </link>
    <link>
    <name>Baidu</name>
    <url>http://www.baidu.com</url>
    </link>
    <link>
    <name>SoSo</name>
    <url>http://www.SoSo.com</url>
    </link>
    </root>


    实现:

    <flow name="testFlow1" doc:id="5cbe7b98-09b9-4011-adc8-ef99ea05f7dc" >
    <http:listener doc:name="Listener" doc:id="91e688a4-1771-4822-bfc7-5fe0d2a8bbf8" config-ref="HTTP_Listener_config" path="/" />
    <set-payload value='#[%dw 2.0
    output application/json
    ---
    {
    "name": "BeJson",
    "url": "http://www.bejson.com",
    "page": 88,
    "isNonProfit": true,
    "address": {
    "street": "科技园路.",
    "city": "江苏苏州",
    "country": "中国"
    },
    "links": [
    {
    "name": "Google",
    "url": "http://www.google.com"
    },
    {
    "name": "Baidu",
    "url": "http://www.baidu.com"
    },
    {
    "name": "SoSo",
    "url": "http://www.SoSo.com"
    }
    ]
    }]' doc:name="Set Payload" doc:id="42e6fd53-0eb1-465d-9a99-4d002554023a" />
    <ee:transform doc:name="Transform Message" doc:id="5d62c9f0-21ba-4cea-993f-205810a38338" >
    <ee:message >
    <ee:set-payload ><![CDATA[%dw 2.0
    output application/xml
    ---
    {
    root: {
    'name': payload.name,
    'url': payload.url,
    'page': payload.page,
    'isNonProfit': payload.isNonProfit,
    "address": {
    "street": payload.address.street,
    "city": payload.address.city,
    "country": payload.address.country
    },
    link : payload.links map (item,index) ->{
    "name" : item.name,
    "url" : item.url
    }
    }
    }]]></ee:set-payload>
    </ee:message>
    </ee:transform>
    <logger level="INFO" doc:name="Logger" doc:id="d0e74e13-311f-41a1-bdda-8a17ebddf9ae" message="#[payload]"/>
    </flow>

     

  • 相关阅读:
    idea的常识
    开发工具
    常用的正则表达式
    比较器
    索引
    final区别
    GC
    String StringBuffer
    类库
    线程的操作状态
  • 原文地址:https://www.cnblogs.com/Edward-Wang/p/11177752.html
Copyright © 2011-2022 走看看