我有一些 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/