Fastjson是一款高性能的Java JSON處理庫,除了可以將JSON轉成Java對象,還支持將XML轉成JSON對象,以方便Java程序的數據處理。下面介紹Fastjson將XML數據轉成JSON數據的操作方法。
首先,需要將XML數據轉成字符串,并指定編碼格式。可以使用以下代碼:
public static String xml2JSON(String xml) { try { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = dbf.newDocumentBuilder(); InputStream is = new ByteArrayInputStream(xml.getBytes("UTF-8")); Document doc = builder.parse(is); StringWriter writer = new StringWriter(); TransformerFactory tf = TransformerFactory.newInstance(); Transformer transformer = tf.newTransformer(); transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes"); transformer.setOutputProperty(OutputKeys.METHOD, "json"); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); transformer.transform(new DOMSource(doc), new StreamResult(writer)); return writer.toString().replaceAll("\\\\n|\\\\r", ""); } catch (Exception e) { e.printStackTrace(); } return null; }
以上代碼通過解析XML數據,使用Transformer類將其轉成JSON格式。其中,“Omit_XML_Declaration”設置為“yes”意味著在生成的JSON數據中忽略XML聲明,而“Method”則指定將XML文檔轉換為JSON格式。
將XML轉成JSON數據后,可以使用Fastjson提供的JSONObject和JSONArray等類來解析JSON數據,從而獲取所需數據。以下為樣例代碼:
String xml = "<book><name>Java編程思想</name><author>Bruce Eckel</author></book>"; String json = xml2JSON(xml); JSONObject jsonObj = JSON.parseObject(json); System.out.println(jsonObj.getString("name")); // 輸出"Java編程思想" System.out.println(jsonObj.getString("author")); // 輸出"Bruce Eckel"
以上代碼將XML數據轉成JSON數據之后,通過解析JSON對象,獲取“name”和“author”字段的值。
總之,使用Fastjson將XML數據轉成JSON格式,可以大大簡化Java程序中的數據處理。同時,通過Fastjson提供的JSONObject和JSONArray等類,可以方便地解析和獲取JSON數據中的字段值。
上一篇項目符號居中css
下一篇html 編程基礎代碼