美文网首页
JSON解析

JSON解析

作者: 凡人多烦事_71de | 来源:发表于2020-06-27 23:33 被阅读0次

    JSON 是一种文本形式的数据交换格式,它比XML更轻量、比二进制容易阅读和编写,调式也更加方便;解析和生成的方式很多,Java中最常用的类库有:JSON-Java、Gson、Jackson、FastJson等

    一、Gson的基本用法

      Gson提供了fromJson() 和toJson() 两个直接用于解析和生成的方法,前者实现反序列化,后者实现了序列化;同时每个方法都提供了重载方法

      (1)基本数据类型的解析

    Gson gson =new Gson();inti = gson.fromJson("100",int.class);//100doubled = gson.fromJson("\"99.99\"",double.class);//99.99booleanb = gson.fromJson("true",boolean.class);// trueString str = gson.fromJson("String", String.class);// String

      (2)基本数据类型的生成

    Gson gson =new Gson();

    String jsonNumber = gson.toJson(100);// 100String jsonBoolean = gson.toJson(false);// falseString jsonString = gson.toJson("String");//"String"

      (3)POJO类的生成与解析

    publicclass User {

        //省略其它public String name;

        publicint age;

        public String emailAddress;

    }

      生成JSON:

    Gson gson =new Gson();

    User user =newUser("张三",24);

    String jsonObject = gson.toJson(user);// {"name":"张三kidou","age":24}

      解析JSON:

    Gson gson =new Gson();

    String jsonString = "{\"name\":\"张三\",\"age\":24}";

    User user = gson.fromJson(jsonString, User.class);

    二、FastJSON

    Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库。Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景。

    主要特点:

    快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson)

    强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum)

    零依赖(没有依赖其它任何类库除了JDK)

    import com.alibaba.fastjson.JSON;

    Group group = new Group();

    group.setId(0L);

    group.setName("admin");

    User guestUser = new User();

    guestUser.setId(2L);

    guestUser.setName("guest");

    User rootUser = new User();

    rootUser.setId(3L);

    rootUser.setName("root");

    group.getUsers().add(guestUser);

    group.getUsers().add(rootUser);

    String jsonString = JSON.toJSONString(group);

    System.out.println(jsonString);

    相关文章

      网友评论

          本文标题:JSON解析

          本文链接:https://www.haomeiwen.com/subject/paevfktx.html