zoukankan      html  css  js  c++  java
  • java中Xml、json之间的相互转换

    旁白:

    最近关于xml与json之间的转换都搞蒙了,这里写一个demo,以后备用。

    正题:

    project格式是:

    jar包是一个一个检出来的,还算干净了。

    代码:

    工具类:

    package exercise.xml;
    
    import net.sf.json.JSON;
    import net.sf.json.JSONSerializer;
    import net.sf.json.xml.XMLSerializer;
    
    import org.jdom.Document;
    
    public class XmlExercise {
    
        /**
         * 将xml字符串<STRONG>转换</STRONG>为JSON字符串
         * 
         * @param xmlString
         *            xml字符串
         * @return JSON<STRONG>对象</STRONG>
         */
        public static String xml2json(String xmlString) {
            XMLSerializer xmlSerializer = new XMLSerializer();
            JSON json = xmlSerializer.read(xmlString);
            return json.toString(1);
        }
    
        /**
         * 将xmlDocument<STRONG>转换</STRONG>为JSON<STRONG>对象</STRONG>
         * 
         * @param xmlDocument
         *            XML Document
         * @return JSON<STRONG>对象</STRONG>
         */
        public static String xml2json(Document xmlDocument) {
            return xml2json(xmlDocument.toString());
        }
    
        /**
         * JSON(数组)字符串<STRONG>转换</STRONG>成XML字符串
         * 
         * @param jsonString
         * @return
         */
        public static String json2xml(String jsonString) {
            XMLSerializer xmlSerializer = new XMLSerializer();
            return xmlSerializer.write(JSONSerializer.toJSON(jsonString));
            // return xmlSerializer.write(JSONArray.fromObject(jsonString));//这种方式只支持JSON数组
        }
    
    }

    测试类:

    package exercise.xml;
    
    import net.sf.json.JSONArray;
    import net.sf.json.JSONObject;
    
    public class XmlTest extends XmlExercise {
    
        public static void main(String[] args) {
    
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("username", "horizon");
            JSONArray jsonArray = new JSONArray();
            JSONObject dataJson = new JSONObject();
            jsonArray.add(jsonObject);
            //jsonArray.add(jsonObject);
            dataJson.put("data", jsonArray);
            System.out.println(dataJson.toString());
    
            String xml = json2xml(dataJson.toString());
            System.out.println("xml:" + xml);
            String str = xml2json(xml);
            System.out.println("to_json" + str);
    
        }
    }
  • 相关阅读:
    祖传屎山代码
    WebService原理及重要术语
    ML-For-Beginners
    Row Level Security行级数据安全,简称RLS。
    浅析 Dapr 里的云计算设计模式
    讲师征集| .NET Conf China 2021正式启动
    为什么 Dapr 如此令人兴奋
    Open Application Model(OAM)的 Kubernetes 标准实现 Crossplane 项目 成为 CNCF 孵化项目
    kubectl 的插件管理工具krew
    PrimeBlazor 组件以MIT 协议开源
  • 原文地址:https://www.cnblogs.com/tv151579/p/3516674.html
Copyright © 2011-2022 走看看