java之JSONArray與List相互轉換

注意:本文舉例使用JSON的是fastjson 


1:JSONArray轉List

  1. JSONArray字符串 轉 List
    //初始化JSONArray
    JSONArray array=new JSONArray();
    array.add(0,"a");
    array.add(1,"b");
    array.add(2,"c");
    
    List<String> list = JSONObject.parseArray(array.toJSONString(),String.class);
    
    System.out.println(list.toString());

    輸出結果:
    [a, b, c]

  2. JSONArray對象 轉 List
    //初始化JSONArray
    JSONArray jsonArray = JSONArray.parseArray("[{\"name\":\"zhangsan\",\"age\":18},{\"name\":\"lisi\",\"age\":23}]");
    //打印jsonArray
    System.out.println(jsonArray.toJSONString());
    //轉List
    List<Body> list = JSONArray.parseArray(jsonArray.toJSONString(), Body.class);
    //打印List<Body>
    System.out.println(list.toString());
    
    
    
    
    /**
    *測試實體類
    **/
    static class Body implements Serializable {
            private static final long serialVersionUID = 1L;
            private String name;
            private int age;
    
            public String getName() {
                return name;
            }
    
            public void setName(String name) {
                this.name = name;
            }
    
            public int getAge() {
                return age;
            }
    
            public void setAge(int age) {
                this.age = age;
            }
    
            @Override
            public String toString() {
                return "Body{" +
                        "name='" + name + '\'' +
                        ", age=" + age +
                        '}';
            }
    }

    輸出結果:
    [{"name":"zhangsan","age":18},{"name":"lisi","age":23}]
    [Body{name='zhangsan', age=18}, Body{name='lisi', age=23}]


2:List轉JSONArray
    

List<T> list = new ArrayList<T>();
JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(list));

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章