本文介绍了JSON 到 XML 转换的 Java 实现的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
是否有现有的 JAR 可用于将 JSON 转换为 XML?
Are there existing JARs available to convert from JSON to XML?
推荐答案
不是 Java,而是 纯 XSLT 2.0 实现:
Not a Java, but a pure XSLT 2.0 implementation:
看看f:json-document()
来自 FXSL 2.x 库.
Have a look at the f:json-document()
from the FXSL 2.x library.
使用此功能可以非常轻松地合并 JSon 并将其用作... XML.
Using this function it is extremely easy to incorporate JSon and use it just as... XML.
例如,您可以只编写以下 XPath 表达式:
For example, one can just write the following XPath expression:
f:json-document($vstrParam)/Students/*[sex = 'Female']
和使用sex = 'Female'
以下是完整示例:
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:f="http://fxsl.sf.net/"
exclude-result-prefixes="f xs"
>
<xsl:import href="../f/func-json-document.xsl"/>
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:variable name="vstrParam" as="xs:string">
{
"teacher":{
"name":
"Mr Borat",
"age":
"35",
"Nationality":
"Kazakhstan"
},
"Class":{
"Semester":
"Summer",
"Room":
null,
"Subject":
"Politics",
"Notes":
"We're happy, you happy?"
},
"Students":
{
"Smith":
{"First Name":"Mary","sex":"Female"},
"Brown":
{"First Name":"John","sex":"Male"},
"Jackson":
{"First Name":"Jackie","sex":"Female"}
}
,
"Grades":
{
"Test":
[
{"grade":"A","points":68,"grade":"B","points":25,"grade":"C","points":15},
{"grade":"C","points":2, "grade":"B","points":29, "grade":"A","points":55},
{"grade":"C","points":2, "grade":"A","points":72, "grade":"A","points":65}
]
}
}
</xsl:variable>
<xsl:template match="/">
<xsl:sequence select=
"f:json-document($vstrParam)/Students/*[sex = 'Female']"/>
</xsl:template>
</xsl:stylesheet>
当上述转换应用于任何 XML 文档(被忽略)时,会产生正确的结果:
<Smith>
<First_Name>Mary</First_Name>
<sex>Female</sex>
</Smith>
<Jackson>
<First_Name>Jackie</First_Name>
<sex>Female</sex>
</Jackson>
这篇关于JSON 到 XML 转换的 Java 实现的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!