JSON解析

2020-06-27  本文已影响0人  凡人多烦事_71de

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);

上一篇下一篇

猜你喜欢

热点阅读