java - 将 xml 字符串转换为 JSON 字符串,而不使用第三方库

标签 java xml json string

我有一些 xml 格式的字符串,需要将其转换为 JSON 格式。我已阅读Quickest way to convert XML to JSON in Java但除了标准 Java 之外我们不能使用任何外部库。

是否有任何简单或好的方法可以在没有任何第三方库的情况下实现此目的?

XML 字符串如下所示:

<container>
     <someString>xxx</someString>     
     <someInteger>123</someInteger>     
     <someArrayElem>         
        <key>1111</key>         
        <value>One</value>     
    </someArrayElem>     

    <someArrayElem>         
    <key>2222</key>         
    <value>Two</value>     
    </someArrayElem> 
</container>

需要将其更改为:

{

   "someString": "xxx",   
   "someInteger": "123",
   "someArrayElem": [
      {
         "key": "1111",
         "value": "One"
      },

      {
         "key": "2222",
         "value": "Two"
      }
   ]

}

最佳答案

您可以从 XSL 转换的角度来看待这个问题。所以,你可以使用 JAXP ,它包含在 Java SE SDK 中(无额外依赖项)。

  // raw xml
  String rawXml= ... ;

  // raw Xsl
  String rawXslt= ... ;

  // create a transformer
  Transformer xmlTransformer = TransformerFactory.newInstance().newTransformer(
     new StreamSource(new StringReader(rawXslt))
  );

  // perform transformation
  StringWriter result = new StringWriter();
  xmlTransformer.transform(
     new StreamSource(new StringReader(rawXml)), new StreamResult(result)
  );

  // print output
  System.out.println(result.getBuffer().toString());

您已经拥有了 XML,现在您所需要的只是 XSL 代码。 当我发现 this website 时,我正准备从头开始给你写一封信。已经为我/你做了。 Here是他们制作的 XSL 文件的直接链接。

注意:这是一种单向转换。您不能使用它将 JSON 转换回 XML。

享受吧。

关于java - 将 xml 字符串转换为 JSON 字符串,而不使用第三方库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27222992/

相关文章:

php - 如何将Android与PHP和MySQL连接?

java - Lombok 或 Java 'var' 有用的用例

java - 在 SOA 设计中使用数据访问层 (DAL)

xml - XSLT 转换

iphone - AFNetworking 自动将请求包装在 JSON 中?

javascript - jquery中如何将json输出转换为数组

java - SmartGWT:从列表网格中选定的记录打开窗口

java - 如何从Java Web应用程序项目结构中的代码创建文件夹?

php - 基于 tr 计数的 td/th 的 XPath

java - XML Schematron 中的换行符和空格