JSON的学习与使用 (7)

示例代码

public static void main(String[] args) {
    //1. bean 和 json 互转
    Person person = new Person("xiaoli",18);
    String json = JacksonUtil.bean2json(person);
    System.out.println(json);
    Person person2 = (Person)JacksonUtil.json2bean(json, Person.class);
    System.out.println(person2.toString());

    //2. list 和 json 互转
    List<Person> list = new ArrayList<Person>();
    list.add(new Person("李四",10));
    list.add(new Person("王五",20));
    String listJson = JacksonUtil.list2json(list);
    System.out.println(listJson);
    List json2List = JacksonUtil.json2List(listJson);
    System.out.println(json2List.toString());

    //3. map 转 json
    Map<String,Person> map = new HashMap<String,Person>();
    map.put("map1",new Person("李四",10));
    map.put("map2",new Person("王五",20));
    String mapJson = JacksonUtil.map2json(map);
    System.out.println(mapJson);
    Map<Object, Object> map2 = JacksonUtil.json2Map(mapJson);
    System.out.println(map2.toString());

    //4. set 与 json 互转
    Set<Person> set = new LinkedHashSet<Person>();
    set.add(new Person("李四",10));
    set.add(new Person("王五",20));
    String setJson = JacksonUtil.set2json(set);
    System.out.println(setJson);
    Set set1 = JacksonUtil.json2Set(setJson);
    System.out.println(set1.toString());
}

缺点

Jackson对于复杂类型的json转换bean会出现问题,一些集合Map,List的转换出现问题。

Jackson对于复杂类型的bean转换Json,转换的json格式不是标准的Json格式。

上面两个缺点有待考察,如有具体例子会进行更新。

小结:

Jackson 可以通过 ObjectMapper 的 writeValue() 和 readValue() 系列方法对 JSON 进行序列化和反序列化。并且擅长处理各种大量数据格式模块。

具体 Jackson 文章详见:https://www.cnblogs.com/cnjavahome/p/8393178.html

fastJson

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyzfjp.html