任何人都可以共享代码将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导入的代码。
提前致谢
答案 0 :(得分:0)
如果您使用的是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,您可以使用本机Java XML工具和解析器(例如org.w3c.dom
和org.xml.sax
),并且不需要任何外部Jars。
如果您至少使用Java EE 7,则可以使用javax.json包中的解析器。
答案 1 :(得分:0)
我试过这个并且对我来说效果很好......
json到xml -
JSON jsonObject = JSONSerializer.toJSON(json);
XMLSerializer xmlSerialized = (new XMLSerializer());
xmlSerialized.setTypeHintsEnabled(false);
String xml = xmlSerialized.write( jsonObject );
和xml到json
org.json.JSONObject object;
String json = null;
try {
object = XML.toJSONObject(xml);
json = object.toString();
} catch (JSONException e) {
e.printStackTrace();
}
希望这会有所帮助.. :)
答案 2 :(得分:0)
Underscore-java 库有静态方法 U.jsonToXml(json)。