gpt4 book ai didi

java - 简单的 json 到 xml 转换

转载 作者:行者123 更新时间:2023-12-01 12:53:11 32 4
gpt4 key购买 nike

任何人都可以分享将 json 转换为 xml 的代码吗?这是通过请求传入的 json

{'sector':'Europe','organization':'Bazz Market Unit UK','companyCode':'UK1_2020','approvalManager':'03000069','managementLevel1':'X11','approvalLimit':'500000','access Category':'FTeam','currency':'USD','comments':'Need this access so I can do my job properly'}

我需要 json 到 xml,反之亦然。任何人都可以帮助我吗?我更喜欢不需要导入 jar 的代码。

提前致谢

最佳答案

如果您使用 Java SE 并且无法使用外部 JAR,并且您的 JSON 始终像您发布的示例一样简单,您可以解析它。这是一个适用于您的示例的简短程序(但如果您有更复杂的 JSON 字符串以及更多嵌套级别和数组,您肯定需要对其进行调整):

public class SimpleJsonToXml {
public static void main(String[] args) {
String json = "{'sector':'Europe','organization':'Bazz Market Unit UK','companyCode':'UK1_2020','approvalManager':'03000069','managementLevel1':'X11','approvalLimit':'500000','access Category':'FTeam','currency':'USD','comments':'Need this access, so I can do my job properly'}";
String jsonObject = json.replaceAll("\\{(.*)\\}", "$1");
String[] childElements = jsonObject.split("(,)(?=(?:[^\']|\'[^\']*\')*$)");

System.out.println("<root>");
for (String item : childElements) {
System.out.println(makeTag(item));
}
System.out.println("</root>");
}

public static String makeTag(String jsonProperty) {
String[] element = jsonProperty.split("\\:");
String tagName = element[0].replaceAll("[' ]", "");
String tagValue = element[1].replace("'", "");
return " <"+tagName+">"+tagValue+"</"+tagName+">";
}
}

它将打印:

<root>
<sector>Europe</sector>
<organization>Bazz Market Unit UK</organization>
<companyCode>UK1_2020</companyCode>
<approvalManager>03000069</approvalManager>
<managementLevel1>X11</managementLevel1>
<approvalLimit>500000</approvalLimit>
<accessCategory>FTeam</accessCategory>
<currency>USD</currency>
<comments>Need this access, so I can do my job properly</comments>
</root>

要将 XML 转换回 JSON,您可以使用 native Java XML 工具和解析器(例如,org.w3c.domorg.xml.sax)不需要任何外部 jar 。

如果您至少使用 Java EE 7,则可以使用 javax.json 中的解析器。包。

关于java - 简单的 json 到 xml 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24060477/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com