最近在開發過程中需要將一些數據從json格式轉化為xml格式,發現Gson庫提供了非常方便的轉化方法,于是就使用了Gson庫。下面介紹一下使用Gson庫將json格式轉化為xml格式的方法。
首先需要導入Gson庫,在gradle中添加以下依賴:
dependencies { implementation 'com.google.code.gson:gson:2.8.6' }
接下來是代碼示例:
public class GsonDemo { public static void main(String[] args) { String jsonString = "{ \"name\": \"小明\", \"age\": 20 }"; Gson gson = new Gson(); JsonObject jsonObject = gson.fromJson(jsonString, JsonObject.class); String xmlString = new XmlConverter().toXml(jsonObject); System.out.println(xmlString); } } class XmlConverter { public static String toXml(JsonElement jsonElement) { StringBuilder stringBuilder = new StringBuilder(); toXml(jsonElement, stringBuilder); return stringBuilder.toString(); } private static void toXml(JsonElement jsonElement, StringBuilder stringBuilder) { if (jsonElement.isJsonObject()) { JsonObject jsonObject = jsonElement.getAsJsonObject(); for (Map.Entryentry : jsonObject.entrySet()) { stringBuilder.append("<").append(entry.getKey()).append(">"); toXml(entry.getValue(), stringBuilder); stringBuilder.append("").append(entry.getKey()).append(">"); } } else if (jsonElement.isJsonArray()) { JsonArray jsonArray = jsonElement.getAsJsonArray(); for (JsonElement element : jsonArray) { toXml(element, stringBuilder); } } else if (jsonElement.isJsonPrimitive()) { JsonPrimitive jsonPrimitive = jsonElement.getAsJsonPrimitive(); stringBuilder.append(jsonPrimitive.getAsString()); } } }
可以看到,首先將json數據轉化為JsonObject對象,然后調用XmlConverter的toXml方法,將JsonObject對象轉化為xml格式的字符串。toXml方法主要是通過遞歸遍歷JsonObject對象的各個屬性,將其轉化為對應的xml標簽。
最后,得到的xml格式的字符串如下:
<name>小明</name><age>20</age>
這就是使用Gson庫將json格式轉化為xml格式的方法,非常方便易用。
上一篇mysql出現頁數