我是Mulesoft的新手,我希望通过Parse Template转换器将Json对象转换为XML对象。然而,直接向前,当Json对象具有未确定数量的元素的数组时,适当的方法是什么?
例如,如果我有一个看起来像
的JSON对象{" name" :" Methusela", "爱好:[ "姓名":"吉他", "姓名":"烹饪", " name":" someting", ... ]}
其中业余爱好的数量在运行时未知 我的xml模板看起来像:
<Person>
<Name>#[payload.name]</Name>
<Hobbies>
<!- What should this bit look like -->
</Hobbies>
所以 - 我的问题是我应该如何处理开放式JSON数组到XML的转换?
请注意,我们目前正在探索社区版,因此无法访问企业版中提供的数据映射功能。
谢谢
答案 0 :(得分:0)
就个人而言,要将Json对象转换为XML对象,使用社区版,我将使用: JSON to Object 和 Object to XML 转换器。
但是,要使用 Parse Template 进行转换,我将使用Mule Expression Language(MEL)。例如:
<Person>
<Name>#[json:name]</Name>
<Hobbies>
#[
org.json.JSONObject jsonObject = new org.json.JSONObject(payload.toString());
org.json.JSONArray jsonArray = jsonObject.get("hobbies");
String hobbies = "";
for(int i = 0; i < jsonArray.length(); i++) {
hobbies += "<Name>" + jsonArray.get(i).getString("name") + "</Name>";
}
hobbies;
]
</Hobbies>
</Person>
答案 1 :(得分:0)
在解析模板中,您可以使用简单的javascript循环:
for(i=0;i<#[payload.Hobbies].length;i++){
document.getElementById('Id').innerHtml += #[payload.Hobbies][i]
}