Android
ファストジョン
サーチ…
前書き
Fastjsonは、JavaオブジェクトをJSON表現に変換するために使用できるJavaライブラリです。これは、JSON文字列を同等のJavaオブジェクトに変換するためにも使用できます。
Fastjsonの特徴:
サーバー側とアンドロイドクライアントで最高のパフォーマンスを提供
単純なtoJSONString()
およびparseObject()
メソッドを提供して、JavaオブジェクトをJSONに変換したり、逆も
既存の変更不可能なオブジェクトをJSONとの間で変換できるようにする
Java Genericsの広範なサポート
構文
- オブジェクト解析(文字列テキスト)
- JSONObject parseObject(文字列テキスト)
- T parseObject(String text、Class <T> clazz)
- JSONArray parseArray(文字列テキスト)
- <T> List <T> parseArray(String text、Class <T> clazz)
- String toJSONString(Objectオブジェクト)
- String toJSONString(Object object、boolean prettyFormat)
- Object toJSON(オブジェクトjavaObject)
Fastjsonを使用したJSONの解析
Fastjsonライブラリのサンプルを見ることができます
エンコード
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.addUser(guestUser);
group.addUser(rootUser);
String jsonString = JSON.toJSONString(group);
System.out.println(jsonString);
出力
{"id":0,"name":"admin","users":[{"id":2,"name":"guest"},{"id":3,"name":"root"}]}
デコード
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;
}
public void addUser(User user) {
users.add(user);
}
}
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;
}
}
タイプマップのデータをJSON Stringに変換する
コード
Group group = new Group();
group.setId(1);
group.setName("Ke");
User user1 = new User();
user1.setId(2);
user1.setName("Liu");
User user2 = new User();
user2.setId(3);
user2.setName("Yue");
group.getList().add(user1);
group.getList().add(user2);
Map<Integer, Object> map = new HashMap<Integer,Object>();
map.put(1, "No.1");
map.put(2, "No.2");
map.put(3, group.getList());
String jsonString = JSON.toJSONString(map);
System.out.println(jsonString);
出力
{1:"No.1",2:"No.2",3:[{"id":2,"name":"Liu"},{"id":3,"name":"Yue"}]}
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow