zoukankan      html  css  js  c++  java
  • Json、JavaBean、Map、XML之间的互转

    思路是JavaBean、Map、XML都可以用工具类很简单的转换为Json,进而实现互相转换

    1.Map、XML与Json互转

    mvn依赖
    
    <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20171018</version>
     </dependency>
    entity
    
    public class Student {
    
        private String name;
        private String sex;
        private int age;
    
    }
    import org.json.JSONObject;
    import org.json.XML;
    
    import java.util.HashMap;
    import java.util.Map;
    
    public class JsonUtil {
    
        public static String JsonToXml(String json){
    
            JSONObject jsonObject = new JSONObject(json);
            return XML.toString(jsonObject) ;
        }
    
        public static String XmlToJson(String xml){
    
            JSONObject jsonObject = XML.toJSONObject(xml);
            return jsonObject.toString();
        }
    
        public static String MapToJson(Map map){
    
            JSONObject jsonObject = new JSONObject(map);
            return jsonObject.toString();
        }
    
        public static Map JsonToMap(String json){
    
            JSONObject jsonObject = new JSONObject(json);
            return jsonObject.toMap();
        }
    
        public static String BeanToJson(Object object){
    
            JSONObject jsonObject = new JSONObject(object);
            return jsonObject.toString();
        }
    
        public static void main(String[] args) {
    
            Map map = new HashMap();
            map.put("name","小明");
            map.put("sex","男");
            map.put("age",10);
    
            String json = MapToJson(map);
            System.out.println(json);
    
            Map map1 = JsonToMap(json);
            System.out.println(map1);
    
            String xml = JsonToXml(json);
            System.out.println(xml);
    
            String json1 = XmlToJson(xml);
            System.out.println(json1);
    
            // bean to json
            Student student = new Student("小红","女",20);
            String json2 = BeanToJson(student);
            System.out.println(json2);
        }
    }

    执行结果

    {"name":"小明","age":10,"sex":"男"}
    {sex=男, name=小明, age=10}
    <sex>男</sex><name>小明</name><age>10</age>
    {"sex":"男","name":"小明","age":10}
    {"sex":"女","name":"小红","age":20}

    2.JavaBean与Json互转

    mvn依赖
    
    <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.9</version>
    </dependency>
    import com.alibaba.fastjson.JSON;
    
    public class JsonUtil2 {
    
        public static String BeanToJson(Object object){
    
            String json = JSON.toJSONString(object);
            return json;
        }
    
        public static <T>T JsonToBean(String json,Class<T> clazz){
    
            return JSON.parseObject(json,clazz);
        }
    
        public static void main(String[] args) {
    
            Student student = new Student("小张","男",28);
            String json = BeanToJson(student);
            System.out.println(json);
            Student student1 = JsonToBean(json,Student.class);
            System.out.println(student1);
        }
    }

    执行结果

    {"age":28,"name":"小张","sex":"男"}
    Student{name='小张', sex='男', age=28}
    

    3.常用的json工具类除了上面两个以外还有jackson

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>2.9.8</version>
    </dependency>
  • 相关阅读:
    008 同步
    007 优雅的关闭线程
    006 线程中的join方法
    005 线程ID和线程的优先级
    004 后台线程
    003 Thread的构造
    群发 图片和语音失败原因是 ,返回 content是 null,
    状态,
    Shape Of My Heart
    转码 的状态,嘿嘿,小bug,少了一个 !
  • 原文地址:https://www.cnblogs.com/scorates/p/10600946.html
Copyright © 2011-2022 走看看