【Java123】XML与JSON互相转化
2020-12-13 04:50
标签:except gui ret sed 需要 lin res turn scl
http://www.bejson.com/json2javapojo/new/
https://www.cnblogs.com/111testing/p/9162229.html
https://wenku.baidu.com/view/8364d04b86c24028915f804d2b160b4e777f8102.html
https://www.jianshu.com/p/8dadd9a232b1
一个使用org.json的Demo:


1 import org.apache.commons.io.IOUtils; 2 import org.json.JSONException; 3 import org.json.JSONObject; 4 import org.json.XML; 5 6 import java.io.IOException; 7 import java.io.InputStream; 8 9 public class XML2JSON { 10 11 public XML2JSON(){} 12 13 public static String xml2jsonString(String filepath) throws IOException, JSONException { 14 15 InputStream in = XML2JSON.class.getResourceAsStream(filepath); 16 String xml = IOUtils.toString(in); 17 System.out.print(xml); 18 System.out.println(); 19 20 JSONObject xmlJSONObj = XML.toJSONObject(xml); 21 String jsonStr = xmlJSONObj.toString(); 22 System.out.print(jsonStr); 23 24 return xmlJSONObj.toString(); 25 26 } 27 28 29 public static void main(String[] args) throws JSONException, IOException { 30 31 String string = xml2jsonString("simple.xml"); 32 System.out.println(string); 33 34 } 35 36 }
测试1:
Gambardella, Matthew
with XML.
Ralls, Kim
http://weather.gov
Mon, 11 Feb 2008 06:51:00 -0500 EST
http://weather.gov/weather/images/fcicons/
http://www.weather.gov/data/obhistory/KJFK.html
http://weather.gov/disclaimer.html
http://weather.gov/disclaimer.html
测试2:
Helen
Jason
Gambardella, Matthew
with XML.
Ralls, Kim
{"current_observation":{"book":["","",{"id":"bk98"},{"id":"bk99","content":"Hello World!"},{"author":["Helen","Jason"],"id":"bk100"},{"author":"Gambardella, Matthew","price":44.95,"genre":"Computer","description":"An in-depth look at creating applications\r\n\t\t\twith XML.","id":"bk101","title":"XML Developer‘s Guide","publish_date":"2000-10-01"},{"author":"Ralls, Kim","credit_URL":"http://weather.gov/","id":"bk102","title":"Midnight Rain","credit":"NOAA‘s National Weather Service"}]}}
各路方法,有使用第三方API,或者自写遍历迭代方法。
在针对上述Demo的测试结果做分析,还需要进一步考虑以下几点:
1. 源XML文件自身特殊及复杂情况的转换定义。比如,字段含特殊字符,一个标签含多个属性,多个标签同名,invalid file等。
2. 目标JSON文件的转换定义。比如,各元素是否保持原有顺序,多个同名标签作为数组还是同级对象,等。
3. 转换过程中的异常处理。比如,转换中遇到无法解析而跳出导致该目标文件无效,异常捕获记录,等。
https://blog.csdn.net/bestxiaok/article/details/80443640
【Java123】XML与JSON互相转化
标签:except gui ret sed 需要 lin res turn scl
原文地址:https://www.cnblogs.com/cathygx/p/10596964.html
文章标题:【Java123】XML与JSON互相转化
文章链接:http://soscw.com/index.php/essay/30121.html