将Xml转换为JSON的方法(包括示例)

时间:2013-11-07 18:11:42

标签: java xml json xslt

后端系统接受xml格式的请求并返回复杂的响应xml。
请求Xml和Response Xml是通用的,并且具有多个层。 Xml元素与UI字段没有一对一的映射。 Xml包含很多元数据(id等)和图层。
这就是我提出的模型xmls的原因,它是平面的,并且与UI字段有一对一的映射。
我有以下渲染方法用户界面上的数据:

  1. UI - > JSON - > ModelXml - >请求Xml /在Response XML的情况下,反向流
        一个。 JSON - >使用一些api进行ModelXML转换     湾ModelXML - > RequestXml使用XSLT

  2. UI - > JSON - > RequestXML /在Response XML的情况下,反向流
       这将是一对一的映射,只要UI上有变化,就有人需要处理JSON-> RequestXML转换。
  3.   

    注意:UI布局是可配置的。我在这里谈论200多种数据录入表格。

    那么问题是哪一个是更好的方法,以减少开发时间,性能和可维护性?

    有可能做JSON< - >使用XSLT的XML? 例如:

    **Xml Structure**
    <RequestXml>
     <Paramateres>
       <Metadata></Metadata>
     </Paramateres>
     <Party>
      <State></State>
      <Person>
        <FirstName></FirstName>
        <LastName></LastName>
      </Person>
      <Address type="Residence">
        <Line1>28 North Main Street</Line1>
        <City>Alberta</City>
      </Address>
      <SSN></SSN>
     </Party>
    </RequestXml>
    

    JSON

    "ClientInformation":{"FirstName":"Name", "LastName":"Yadav","Line1":"28 North Main Street","City":"Alberta","State":"", "SSN":""}
    

2 个答案:

答案 0 :(得分:0)

是的,您可以使用XSLT在JSON和XML之间进行转换。有很多资源可以做到这一点。您可能想要查看的是XSLTJSON。它允许您根据许多不同的约定执行转换。听起来您的上下文是一个使用频繁的UI(您提到200多个数据输入表单),因此您需要考虑这种类型的转换是否足以满足您的需求。

答案 1 :(得分:0)

您是否看过使用json库(http://www.json.org/javadoc/org/json/XML.html)?您可以使用它在格式良好的XML和JSON之间来回转换 (由于代表,必须将其分为两个帖子 - 所以请参阅下面的评论以继续)