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);
    
        }
    }
  • 相关阅读:
    课堂作业之公文流转
    统计字符出现频率(java)
    课堂测试第八周
    HTML学习笔记——语法+骨架
    HTTP协议
    MVC架构模式概述
    CodeIgniter框架——CI中视图路径问题
    CodeIgniter框架——CI组件间信息流走向
    CodeIgniter框架——数据库类(配置+快速入门)
    chm文件无法阅读
  • 原文地址:https://www.cnblogs.com/tv151579/p/3516674.html
Copyright © 2011-2022 走看看