当前位置: 代码迷 >> 综合 >> java之JSONArray转List/List转JSONArray
  详细解决方案

java之JSONArray转List/List转JSONArray

热度:45   发布时间:2023-10-29 02:06:25.0

注意:本文举例使用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());

    Body.class代码:
     

    /**
    *测试实体类
    **/
    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;}@Overridepublic 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));