java - XML 到 JSON 转换问题

标签 java xml json xsd xjc

我有一个 xml 架构 -

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
     xmlns="http://www.tibco.com/schemas/RegTestingStub/SharedResources/SchemaDefinitions/CommonXSD/Schema.xsd2"
     targetNamespace="http://www.tibco.com/schemas/RegTestingStub/SharedResources/SchemaDefinitions/CommonXSD/Schema.xsd2"
     elementFormDefault="qualified"
     attributeFormDefault="unqualified">
    <xs:element name="AccumulateResponse" type="AccumulateResponse"/>
    <xs:complexType name="AccumulateResponse">
        <xs:sequence>
            <xs:element name="TestCase" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Transactionid" type="xs:string"/>
                        <xs:element name="TransactionType" type="xs:string"/>
                        <xs:element name="Status" type="xs:string"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
</xs:schema>

我正在按照以下步骤进行此转换 - 1)使用XJC从XML Schema生成Java类 2)使用Java编译器API编译类 3)通过JAXB解码类实例

但都是重IO操作。有没有办法在内存中做到这一点?

最佳答案

您可以使用http://www.xsd2xml.com/用于从 xsd 生成示例 xml,之后您可以使用 site: http://www.utilities-online.info/xmltojson/将 xml 转换为 json。

对于你的 xsd,我得到了示例 xml:

<?xml version="1.0" encoding="utf-8"?>
<AccumulateResponse>
  <TestCase>
    <Transactionid>str1234</Transactionid>
    <TransactionType>str1234</TransactionType>
    <Status>str1234</Status>
  </TestCase>
  <TestCase>
    <Transactionid>str5678</Transactionid>
    <TransactionType>str5678</TransactionType>
    <Status>str5678</Status>
  </TestCase>
</AccumulateResponse>

并使用我得到的第二个网站:

{
"AccumulateResponse": {
  "TestCase": [
   {
    "Transactionid": "str1234",
    "TransactionType": "str1234",
    "Status": "str1234"
   },
   {
    "Transactionid": "str5678",
    "TransactionType": "str5678",
    "Status": "str5678"
   }
  ]
 }
}

关于java - XML 到 JSON 转换问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26137303/

相关文章:

java - 如何加入现有的 SwingWorker

java - 为每个请求加载 XML

java - 删除 xml 版本控制 + 启动节点

javascript - 如何在多级数组中选择对象

java - 在 Swing 中使用角度绘制圆弧

java - android 线程和处理程序 - 从后台线程更改 UI 对象

java - Jackson 仅序列化接口(interface)方法

c# - Json.Net 可以嵌入到可执行文件中吗?

java - 如何获取 XML 中定义的 ListPreference 的默认值?

c# - 在 C# 中动态序列化大量对象而不是一次全部序列化?