來自阿里的 json 解析方案 fastjson
阿新 • • 發佈:2019-01-07
說起Json 解析,有很多方法,無論是出自Google 的Gson也好,還是來自其他的某某,想必大家都很熟悉。今日在github上閒逛,偶遇 一 json 解析庫,看起來很不錯,據說是目前最快的解析JOSN 方案。該東東為何神器,他就是來自於阿里團隊的 fastjson.
為了方便起見,參考如下程式碼。
用maven 的同學就方便多了,直接雙擊開啟你的pom.xml 檔案,新增如下依賴
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.1.36</version> </dependency>
構建一下就OK了。
下面來具體看看:
ENCODE:
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);
OUTPUT:
{"id":0,"name":"admin","users":[{"id":2,"name":"guest"},{"id":3,"name":"root"}]}
DECODE:
String jsonString = ...;
Group group = JSON.parseObject(jsonString, Group.class);
Group.java
public class Group { private Long id; private String name; private List<User> users = new ArrayList<User>(); public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public List<User> getUsers() { return users; } public void setUsers(List<User> users) { this.users = users; } }
User.java
public class User {
private Long id;
private String name;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
非常好用!
更多詳情參考:https://github.com/alibaba/fastjson