本文是在上一篇文章的基础上进行优化和测试的,mule的基础可以看上一篇文章《Mule通过HTTP连接并传参给webService》https://blog.csdn.net/dl348/article/details/83185036
描述:前端页面需要json数据,但是后端的webservice传输方式是要xml。所以要在mule中进行数据转换。在经过上文的测试调通后,再进一步进行优化。
json转xml
尝试了两种json的工具,org.json和json-lib 。两种转换工具都有缺陷,是否有缺陷的验证方法很简单,json->xml->json后,前后json一致。xml->json->xml后,前后xml一致则表示该工具ok。但是两者都不通过此验证。小结如下:
org.json的依赖比较少,但是不能区分xml的标签属性,因此会把标签属性和标签内容文字以相同的方式转化为json。
json-lib的依赖比较多,可以区分xml的标签属性,对于有xml的标签属性,转成json时会在key前面添加 - 以示标识。但是转化不完整,如果是多个标签嵌套,有时会省略掉中间的标签。并且在转换时,如果遇到无内容的标签,转出来的json格式变成[],而非null。
最后决定尝试mule自带的json、xml转换功能。测试的结果,完美!
流程图如下: