Android
ジャクソン
サーチ…
前書き
JacksonはJSONを処理するための多目的Javaライブラリです。ジャクソンは開発者にとって高速、正確、軽量、人間工学に基づいた最適な組み合わせを目指しています。
ジャクソンの特徴:
マルチ処理モード、非常に良いコラボレーション
注釈だけでなく、混合注釈
ジェネリック型を完全にサポート
多型のサポート
完全なデータバインドの例
JSONデータ
{
"name" : { "first" : "Joe", "last" : "Sixpack" },
"gender" : "MALE",
"verified" : false,
"userImage" : "keliuyue"
}
それをUserインスタンスに変換するには、2行のJavaが必要です。
ObjectMapper mapper = new ObjectMapper(); // can reuse, share globally
User user = mapper.readValue(new File("user.json"), User.class);
User.class
public class User {
public enum Gender {MALE, FEMALE};
public static class Name {
private String _first, _last;
public String getFirst() {
return _first;
}
public String getLast() {
return _last;
}
public void setFirst(String s) {
_first = s;
}
public void setLast(String s) {
_last = s;
}
}
private Gender _gender;
private Name _name;
private boolean _isVerified;
private byte[] _userImage;
public Name getName() {
return _name;
}
public boolean isVerified() {
return _isVerified;
}
public Gender getGender() {
return _gender;
}
public byte[] getUserImage() {
return _userImage;
}
public void setName(Name n) {
_name = n;
}
public void setVerified(boolean b) {
_isVerified = b;
}
public void setGender(Gender g) {
_gender = g;
}
public void setUserImage(byte[] b) {
_userImage = b;
}
}
JSONにマーシャリングすることも同様に簡単です。
mapper.writeValue(new File("user-modified.json"), user);
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow