【问题标题】:Mule - iterate through the JSON payload and update databaseMule - 遍历 JSON 有效负载并更新数据库
【发布时间】:2017-02-06 02:57:48
【问题描述】:

我使用 Mule http 请求组件调用了一个 REST Web 服务。 Web 服务确实响应了 JSON 有效负载,现在我必须解析这个 json 并更新我的本地数据库。

如何解析 JSON 响应?如何遍历 JSON 并更新我的数据库?

请指教

-帕雷什

【问题讨论】:

    标签: json parsing mule


    【解决方案1】:

    您可以使用 JSON-to-object 转换器迭代 JSON,然后使用批量更新。类似的东西。

    <flow name="testdbFlow">
        <http:listener config-ref="HTTP_Listener_Configuration" path="/test" doc:name="HTTP"/>
        <set-payload value="{&quot;1234567890123456&quot;:&quot;Y&quot;,&quot;1234567890123457&quot;:&quot;Y&quot;}" mimeType="application/json" doc:name="Set Payload"/>
        <dw:transform-message doc:name="Transform Message">
            <dw:input-payload />
            <dw:set-payload><![CDATA[%dw 1.0
                %output application/json
                ---
                (payload mapObject {    
                    x: {
                        key : $$,
                        value : $
                    }
                }).*x]]>
            </dw:set-payload>
        </dw:transform-message>
        <json:json-to-object-transformer returnClass="java.util.List" doc:name="JSON to Object"/>
        <db:update config-ref="MySQL_Configuration" bulkMode="true" doc:name="Database">
            <db:dynamic-query><![CDATA[UPDATE cwg_ws_data SET SyncFlag = '#[payload.value]' WHERE IMEI = '#[payload.key]']]></db:dynamic-query>
        </db:update>
    </flow>
    

    输入是{"1234567890123456":"Y","1234567890123457":"Y"}。详情请参考this answer

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-04
      • 2014-11-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多