由於歐還沒有表現出完整的JSON請求,讓我們考慮一下你有以下的JSON: -
{
"Industry": ["111","ggh","ooo",888],
"Phone": null,
"Id": null,
"type": "Account",
"Name": "Manufacturing"
}
因此,這裏是您可以同時如何提取每個逗號分隔值並將其插入到db: -
<http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration"/>
<flow name="TestFlow" >
<http:listener config-ref="HTTP_Listener_Configuration" path="/test" doc:name="HTTP"/>
<json:json-to-object-transformer returnClass="java.lang.Object" doc:name="JSON to Object"/>
<logger level="INFO" doc:name="Logger" message="#[payload.Industry]"/>
<foreach doc:name="For Each" collection="#[payload.Industry]">
<logger message="Each extracted value :#[payload]" level="INFO" doc:name="Logger"/>
<!-- Your Database insert code here inserting each value with #[payload] -->
</foreach>
<json:object-to-json-transformer doc:name="Object to JSON"/>
</flow>
您可以修改上面的代碼並使用它插入到db中。
請注意裏面的for循環#[payload]
已提取逗號分隔值。你可以把它變成一個變量,如果你想用它來代替書面方式的#[payload]
UPDATE:
按照你的問題,我已經更新了查詢: -
<foreach doc:name="For Each" collection="#[payload.LineID]">
<db:insert config-ref="Oracle_Configuration" doc:name="Database">
<db:parameterized-query><![CDATA[INSERT INTO HDR_TABLE (ID,LINE_ID) VALUES(LINE_SEQ.NEXTVAL,#[payload])]]></db:parameterized-query>
</db:insert>
你想每個逗號分隔的值是數據庫中的輸入? –
是的,這是真的..我想作爲一個單獨的行插入數據庫表。 – insaneyogi
是否需要dataweave?我可以告訴你一個簡單的方法 –