当前位置:  开发笔记 > 编程语言 > 正文

WSO2-ESB JSON响应格式

如何解决《WSO2-ESBJSON响应格式》经验,为你挑选了1个好方法。

我的后端服务响应XML,我默认返回它.

如果客户端给我一个adds参数(比如:&outout_format = json),我需要在"outSequence"中将响应转换为JSON.

例如:


bar
bar2

value


应该作为回应

{
"foo": "bar",
"foo2": "bar2",
"nested":{
"node":"value"
}
}

这是一个测试代理服务(我只是在这里使用inSequence来显示问题):



       
          
             
             
success 123

它回应:

{"response":{"result":"success","code":123}}

有没有办法删除根节点"响应",使其看起来像这样?

{"result":"success","code":123}

当我尝试使用Enrich-mediator(例如$ body/result/* - > $ body/*)删除节点"result"时,它变为带有多个根节点的无效XML,而JSON只包含第一个节点.

我知道有可能Payload一个JSON消息,但后端可以返回一个具有不同格式和不同数量的嵌套节点的XML,所以我不能将它硬编码为JSON.

看来我需要实现自己的JSONMessageFromatter?(任何代码示例?)

UPD:我找到了解决方案(感谢Dakshika)


            $1
            
               
            

Dakshika.. 5

在ESB 4.7版本中,有效负载工厂介体支持多种介质类型,xml和json,您可以相应地进行更改.

请尝试以下链接

http://www.dilan.me/articles/tech-notes/how-to-use-wso2-products-esb-payload-factory-mediator-to-change-json-service-output/

http://wso2.com/library/articles/2013/12/restful-integration-with-wso2-esb/



1> Dakshika..:

在ESB 4.7版本中,有效负载工厂介体支持多种介质类型,xml和json,您可以相应地进行更改.

请尝试以下链接

http://www.dilan.me/articles/tech-notes/how-to-use-wso2-products-esb-payload-factory-mediator-to-change-json-service-output/

http://wso2.com/library/articles/2013/12/restful-integration-with-wso2-esb/

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有