1. 程式人生 > >xml和JSON相互轉換的Java實現

xml和JSON相互轉換的Java實現

依賴的包:

json-lib-2.4-jdk15.jar

ezmorph-1.0.6.jar

xom-1.2.1.jar

commons-lang-2.1.jar

commons-io-1.3.2.jar

jaxen-1.1.jar

輸入xml檔案,輸出JSON物件

Java程式碼  收藏程式碼
  1. package com.cash.util;  
  2. import java.io.IOException;  
  3. import java.io.InputStream;  
  4. import org.apache.commons.io.IOUtils;  
  5. import net.sf.json.JSON;  
  6. import
     net.sf.json.xml.XMLSerializer;  
  7. publicclass Test {  
  8.     publicstaticvoid ConvertXMLtoJSON()  {  
  9.         InputStream is = ConvertXMLtoJSON.class.getResourceAsStream("sample.xml");  
  10.         String xml;  
  11.         try {  
  12.             xml = IOUtils.toString(is);  
  13.             System.out.println(xml);  
  14.             XMLSerializer xmlSerializer = new
     XMLSerializer();  
  15.             JSON json = xmlSerializer.read(xml);  
  16.             System.out.println(json.toString(1));  
  17.         } catch (IOException e) {  
  18.             e.printStackTrace();  
  19.         }  
  20.     }  
  21.     publicstaticvoid main(String[] args) {  
  22.         ConvertXMLtoJSON();  
  23.     }  
  24. }  
Java程式碼  收藏程式碼
  1. /** 
  2.  * 將xml字串轉換為JSON物件 
  3.  * @param xmlFile xml字串 
  4.  * @return JSON物件 
  5.  */
  6. public JSON getJSONFromXml(String xmlString) {  
  7.     XMLSerializer xmlSerializer = new XMLSerializer();  
  8.     JSON json = xmlSerializer.read(xmlString);  
  9.     return json;  
  10. }  
Java程式碼  收藏程式碼
  1. /** 
  2.  * 將xmlDocument轉換為JSON物件 
  3.  * @param xmlDocument XML Document 
  4.  * @return JSON物件 
  5.  */
  6. public JSON getJSONFromXml(Document xmlDocument) {  
  7.     String xmlString = xmlDocument.toString();  
  8.     return getJSONFromXml(xmlString);  
  9. }  
Java程式碼  收藏程式碼
  1. /** 
  2.  * 將xml字串轉換為JSON字串 
  3.  * @param xmlString 
  4.  * @return JSON字串 
  5.  */
  6. public String getJSONStringFromXml(String xmlString ) {  
  7.     return getJSONFromXml(xmlString).toString();  
  8. }  
Java程式碼  收藏程式碼
  1. /** 
  2.  * 將xmlDocument轉換為JSON字串 
  3.  * @param xmlDocument XML Document 
  4.  * @return JSON字串 
  5.  */
  6. public String getXMLtoJSONString(Document xmlDocument) {  
  7.     return getJSONStringFromXml(xmlDocument.toString());  
  8. }  
Java程式碼  收藏程式碼
  1. /** 
  2.  * 讀取XML檔案準換為JSON字串 
  3.  * @param xmlFile  XML檔案 
  4.  * @return JSON字串 
  5.  */
  6. public String getXMLFiletoJSONString(String xmlFile) {  
  7.     InputStream is = JsonUtil.class.getResourceAsStream(xmlFile);  
  8.     String xml;  
  9.     JSON json = null;  
  10.     try {  
  11.         xml = IOUtils.toString(is);  
  12.         XMLSerializer xmlSerializer = new XMLSerializer();  
  13.         json = xmlSerializer.read(xml);  
  14.     } catch (IOException e) {  
  15.         e.printStackTrace();  
  16.     }  
  17.     return json.toString();  
  18. }  
Java程式碼  收藏程式碼
  1. /** 
  2.  * 將Java物件轉換為JSON格式的字串 
  3.  *  
  4.  * @param javaObj 
  5.  *            POJO,例如日誌的model 
  6.  * @return JSON格式的String字串 
  7.  */
  8. publicstatic String getJsonStringFromJavaPOJO(Object javaObj) {  
  9.     return JSONObject.fromObject(javaObj).toString(1);  
  10. }  
Java程式碼  收藏程式碼
  1. /** 
  2.  * 將Map準換為JSON字串 
  3.  * @param map 
  4.  * @return JSON字串 
  5.  */
  6. publicstatic  String getJsonStringFromMap(Map<?, ?> map) {  
  7.     JSONObject object = JSONObject.fromObject(map);  
  8.     return object.toString();  
  9. }  
Java程式碼  收藏程式碼