我有一些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"
}
]
}
答案 0 :(得分:2)
从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。
享受。