zoukankan      html  css  js  c++  java
  • Json的详细使用(一)处理数组/List/Map

     
    package fastJson.test;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONArray;
    
    public class FastJsonTest1
    {
    
        /**
         * 数组转json格式字符串
         */
        public void array2Json(){
            String[] arr = {"bill","green","maks","jim"};
            String jsonText = JSON.toJSONString(arr, true);
            System.out.println("array2Json()方法:jsonText=="+jsonText);
            // 输出结果:jsonText==["bill","green","maks","jim"]
        }
    
        /**
         * json格式字符串转数组
         */
        public void json2Array(){
            String jsonText = "["bill","green","maks","jim"]";
            JSONArray jsonArr = JSON.parseArray(jsonText);
            System.out.println("json2Array()方法:jsonArr=="+jsonArr);
            // 输出结果:jsonArr==["bill","green","maks","jim"]
        }
        
        /**
         * 数组转json格式字符串
         */
        public void array2Json2(){
            User user1 = new User("P001","TOM",16);
            User user2 = new User("P002","JACKSON",21);
            User user3 = new User("P003","MARTIN",20);
            User[] userArr = {user1,user2,user3};
            String jsonText = JSON.toJSONString(userArr, true);
            System.out.println("array2Json2()方法:jsonText=="+jsonText);
            //输出结果:jsonText==[{"age":16,"id":"P001","name":"TOM"},{"age":21,"id":"P002","name":"JACKSON"},{"age":20,"id":"P003","name":"MARTIN"}]
        }
        
        /**
         * json格式字符串转数组
         */
        public void json2Array2(){
            String jsonText = "[{"age":16,"id":"P001","name":"TOM"},{"age":21,"id":"P002","name":"JACKSON"},{"age":20,"id":"P003","name":"MARTIN"}]";
            JSONArray jsonArr = JSON.parseArray(jsonText);
            System.out.println("json2Array2()方法:jsonArr=="+jsonArr);
            // 输出结果:jsonArr==[{"age":16,"id":"P001","name":"TOM"},{"age":21,"id":"P002","name":"JACKSON"},{"age":20,"id":"P003","name":"MARTIN"}]
        }
        
        /**
         * list集合转json格式字符串
         */
        public void list2Json(){
            List list = new ArrayList();
            User user1 = new User("L001","TOM",16);
            list.add(user1);
            User user2 = new User("L002","JACKSON",21);
            list.add(user2);
            User user3 = new User("L003","MARTIN",20);
            list.add(user3);
            String jsonText = JSON.toJSONString(list, true);
            System.out.println("list2Json()方法:jsonText=="+jsonText);
            //输出结果:jsonText==[{"age":16,"id":"L001","name":"TOM"},{"age":21,"id":"L002","name":"JACKSON"},{"age":20,"id":"L003","name":"MARTIN"}]
        }
        
        /**
         * list集合转json格式字符串
         */
        public void list2Json2(){
            List list = new ArrayList();
            Address address1 = new Address("广东省","深圳市","科苑南路","580053");
            User user1 = new User("L001","TOM",16,address1);
            list.add(user1);
            Address address2 = new Address("江西省","南昌市","阳明路","330004");
            User user2 = new User("L002","JACKSON",21,address2);
            list.add(user2);
            Address address3 = new Address("陕西省","西安市","长安南路","710114");
            User user3 = new User("L003","MARTIN",20,address3);
            list.add(user3);
            String jsonText = JSON.toJSONString(list, true);
            System.out.println("list2Json2()方法:jsonText=="+jsonText);
            //输出结果:jsonText==[{"address":{"city":"深圳市","post":"580053","province":"广东省","street":"科苑南路"},"age":16,"id":"L001","name":"TOM"},{"address":{"city":"南昌市","post":"330004","province":"江西省","street":"阳明路"},"age":21,"id":"L002","name":"JACKSON"},{"address":{"city":"西安市","post":"710114","province":"陕西省","street":"长安南路"},"age":20,"id":"L003","name":"MARTIN"}]
        }
    
        /**
         * map转json格式字符串
         */
        public void map2Json(){
            Map map = new HashMap();
            Address address1 = new Address("广东省","深圳市","科苑南路","580053");
            map.put("address1", address1);
            Address address2 = new Address("江西省","南昌市","阳明路","330004");
            map.put("address2", address2);
            Address address3 = new Address("陕西省","西安市","长安南路","710114");
            map.put("address3", address3);
            String jsonText = JSON.toJSONString(map, true);
            System.out.println("map2Json()方法:jsonText=="+jsonText);
            //输出结果:jsonText=={"address1":{"city":"深圳市","post":"580053","province":"广东省","street":"科苑南路"},"address2":{"city":"南昌市","post":"330004","province":"江西省","street":"阳明路"},"address3":{"city":"西安市","post":"710114","province":"陕西省","street":"长安南路"}}
        }
        
        
        
        public static void main(String[] args)
        {
            FastJsonTest1 test = new FastJsonTest1();
            //数组转json格式字符串
            test.array2Json();
            
            //json格式字符串转数组
            test.json2Array();
            
            //数组转json格式字符串
            test.array2Json2();
            
            //json格式字符串转数组
            test.json2Array2();
            
            //list集合转json格式字符串
            test.list2Json();
            
            //list集合转json格式字符串
            test.list2Json2();
            
            //map转json格式字符串
            test.map2Json();
        }
    }

    控制台输出结果:

    array2Json()方法:jsonText==["bill","green","maks","jim"]
    json2Array()方法:jsonArr==["bill","green","maks","jim"]
    array2Json2()方法:jsonText==[{
        "age":16,
        "id":"P001",
        "name":"TOM"
    },{
        "age":21,
        "id":"P002",
        "name":"JACKSON"
    },{
        "age":20,
        "id":"P003",
        "name":"MARTIN"
    }]
    json2Array2()方法:jsonArr==[{"age":16,"id":"P001","name":"TOM"},{"age":21,"id":"P002","name":"JACKSON"},{"age":20,"id":"P003","name":"MARTIN"}]
    list2Json()方法:jsonText==[
        {
            "age":16,
            "id":"L001",
            "name":"TOM"
        },
        {
            "age":21,
            "id":"L002",
            "name":"JACKSON"
        },
        {
            "age":20,
            "id":"L003",
            "name":"MARTIN"
        }
    ]
    list2Json2()方法:jsonText==[
        {
            "address":{
                "city":"深圳市",
                "post":"580053",
                "province":"广东省",
                "street":"科苑南路"
            },
            "age":16,
            "id":"L001",
            "name":"TOM"
        },
        {
            "address":{
                "city":"南昌市",
                "post":"330004",
                "province":"江西省",
                "street":"阳明路"
            },
            "age":21,
            "id":"L002",
            "name":"JACKSON"
        },
        {
            "address":{
                "city":"西安市",
                "post":"710114",
                "province":"陕西省",
                "street":"长安南路"
            },
            "age":20,
            "id":"L003",
            "name":"MARTIN"
        }
    ]
    map2Json()方法:jsonText=={"address1":{
        "city":"深圳市",
        "post":"580053",
        "province":"广东省",
        "street":"科苑南路"
    },"address2":{
        "city":"南昌市",
        "post":"330004",
        "province":"江西省",
        "street":"阳明路"
    },"address3":{
        "city":"西安市",
        "post":"710114",
        "province":"陕西省",
        "street":"长安南路"
    }}

      

    附:javabean类 User.java
    [java] view plaincopy
    package fastJson.test;  
      
    import java.io.Serializable;  
      
    public class User implements Serializable {  
          
        private static final long serialVersionUID = 1L;  
          
        private String id;  
        private String name;  
        private int age;  
        private Address address;  
          
        public User() {  
            super();  
        }  
      
        public User(String id, String name, int age) {  
            super();  
            this.id = id;  
            this.name = name;  
            this.age = age;  
        }  
          
        public User(String id, String name, int age, Address address)  
        {  
            super();  
            this.id = id;  
            this.name = name;  
            this.age = age;  
            this.address = address;  
        }  
      
        public int getAge() {  
            return age;  
        }  
      
        public void setAge(int age) {  
            this.age = age;  
        }  
      
        public String getId() {  
            return id;  
        }  
      
        public void setId(String id) {  
            this.id = id;  
        }  
      
        public String getName() {  
            return name;  
        }  
      
        public void setName(String name) {  
            this.name = name;  
        }  
      
        public Address getAddress()  
        {  
            return address;  
        }  
      
        public void setAddress(Address address)  
        {  
            this.address = address;  
        }  
          
    }  
    
    Address.java
    [java] view plaincopy
    package fastJson.test;  
      
    import java.io.Serializable;  
      
    public class Address implements Serializable  
    {  
        private static final long serialVersionUID = 1L;  
          
        private String province;  
        private String city;  
        private String street;  
        private String post;  
          
        public Address()  
        {  
            super();  
        }  
          
        public Address(String province, String city, String street, String post)  
        {  
            super();  
            this.province = province;  
            this.city = city;  
            this.street = street;  
            this.post = post;  
        }  
      
        public String getCity()  
        {  
            return city;  
        }  
      
        public void setCity(String city)  
        {  
            this.city = city;  
        }  
      
        public String getPost()  
        {  
            return post;  
        }  
      
        public void setPost(String post)  
        {  
            this.post = post;  
        }  
      
        public String getProvince()  
        {  
            return province;  
        }  
      
        public void setProvince(String province)  
        {  
            this.province = province;  
        }  
      
        public String getStreet()  
        {  
            return street;  
        }  
      
        public void setStreet(String street)  
        {  
            this.street = street;  
        }  
          
    }  

    转自 http://blog.csdn.net/hu_shengyang/article/details/8447787 谢谢分享

  • 相关阅读:
    【日更计划021】数字IC基础题
    【日更计划020】数字IC基础题
    【日更计划019】数字IC基础题
    【日更计划018】数字IC基础题
    【日更计划017】数字IC基础题
    【日更计划016】数字IC基础题
    【第六章:串扰噪声 上】静态时序分析圣经翻译计划
    列向量叉乘
    关闭微软拼音ctrl+shirt+b弹出的表情面板
    nginx 开启gzip, vue加载速度加快
  • 原文地址:https://www.cnblogs.com/kingfly13/p/3877690.html
Copyright © 2011-2022 走看看