Mule - 遍历JSON有效负载并更新数据库

时间:2016-09-28 08:42:34

标签: json parsing mule

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

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

请咨询

-Paresh

1 个答案:

答案 0 :(得分:0)

您可以使用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