加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml和JSON格式相互转换的Java实现

发布时间:2020-12-15 23:52:19 所属栏目:百科 来源:网络整理
导读:依赖的包: 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对象 package com.cash.util; import java.io.IOException; import java.io.InputStream; import org.apa

依赖的包:

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对象

    package com.cash.util;  
      
    import java.io.IOException;  
    import java.io.InputStream;  
      
    import org.apache.commons.io.IOUtils;  
    import net.sf.json.JSON;  
    import net.sf.json.xml.XMLSerializer;  
      
    public class Test {  
        public static void ConvertXMLtoJSON()  {  
            InputStream is = ConvertXMLtoJSON.class.getResourceAsStream("sample.xml");  
            String xml;  
            try {  
                xml = IOUtils.toString(is);  
                System.out.println(xml);  
                XMLSerializer xmlSerializer = new XMLSerializer();  
                JSON json = xmlSerializer.read(xml);  
                System.out.println(json.toString(1));  
            } catch (IOException e) {  
                e.printStackTrace();  
            }  
        }  
          
        public static void main(String[] args) {  
            ConvertXMLtoJSON();  
        }  
    }  

    /** 
     * 将xml字符串转换为JSON对象 
     * @param xmlFile xml字符串 
     * @return JSON对象 
     */  
    public JSON getJSONFromXml(String xmlString) {  
        XMLSerializer xmlSerializer = new XMLSerializer();  
        JSON json = xmlSerializer.read(xmlString);  
        return json;  
    }  

    /** 
     * 将xmlDocument转换为JSON对象 
     * @param xmlDocument XML Document 
     * @return JSON对象 
     */  
    public JSON getJSONFromXml(Document xmlDocument) {  
        String xmlString = xmlDocument.toString();  
        return getJSONFromXml(xmlString);  
    }  

/** 
 * 将xml字符串转换为JSON字符串 
 * @param xmlString 
 * @return JSON字符串 
 */  
public String getJSONStringFromXml(String xmlString ) {  
    return getJSONFromXml(xmlString).toString();  
} 

    /** 
     * 将xmlDocument转换为JSON字符串 
     * @param xmlDocument XML Document 
     * @return JSON字符串 
     */  
    public String getXMLtoJSONString(Document xmlDocument) {  
        return getJSONStringFromXml(xmlDocument.toString());  
    }  

    /** 
     * 读取XML文件准换为JSON字符串 
     * @param xmlFile  XML文件 
     * @return JSON字符串 
     */  
    public String getXMLFiletoJSONString(String xmlFile) {  
        InputStream is = JsonUtil.class.getResourceAsStream(xmlFile);  
        String xml;  
        JSON json = null;  
        try {  
            xml = IOUtils.toString(is);  
            XMLSerializer xmlSerializer = new XMLSerializer();  
            json = xmlSerializer.read(xml);  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
        return json.toString();  
    }  

    /** 
     * 将Java对象转换为JSON格式的字符串 
     *  
     * @param javaObj 
     *            POJO,例如日志的model 
     * @return JSON格式的String字符串 
     */  
    public static String getJsonStringFromJavaPOJO(Object javaObj) {  
        return JSONObject.fromObject(javaObj).toString(1);  
    }  

    /** 
     * 将Map准换为JSON字符串 
     * @param map 
     * @return JSON字符串 
     */  
    public static  String getJsonStringFromMap(Map<?,?> map) {  
        JSONObject object = JSONObject.fromObject(map);  
        return object.toString();  
    }  

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读