GSON
Google出品的JSON解析函数库
添加依赖
compile ‘com.google.code.gson:gson:2.8.0’
首先需要建立两个实体 分别是MainClass ArrayUtill
这里建议用实体工具来自动建立实体
下载链接为:
链接: https://pan.baidu.com/s/1nuN8FJ7 密码: fgx6
此建立实体工具适用于ios和android
//打印JSON
Gson gson=new Gson();
MainClass mainClass=gson.fromJson(jsonData,MainClass.class);
ArrayList<ArrayUtill> arrayUtills= (ArrayList<ArrayUtill>) mainClass.getArray();
Logger.d(arrayUtills.get(1).getUsername());
Fastjson
添加依赖
compile ‘com.alibaba:fastjson:1.2.21’ (417KB)
compile ‘com.alibaba:fastjson:1.1.55.android’ (256KB)
第二个为专门为Android设计的库 相对于第一个去掉了一些Android的dalvik不支持的功能 使得包更小
常用的序列化操作都可以在JSON类上的静态方法直接完成
public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray
public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject
public static final T parseObject(String text, Class clazz); // 把JSON文本parse为JavaBean
public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray
public static final List parseArray(String text, Class clazz); //把JSON文本parse成JavaBean集合
public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本
public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本
public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray。
使用方式
MainClass mainClass= JSON.parseObject(jsonData,MainClass.class);
ArrayList<ArrayUtill> arrayUtills= (ArrayList<ArrayUtill>) mainClass.getArray();
Logger.d(arrayUtills.get(0).getUsername());
附MainClass 代码:
public class MainClass {
private ArrayList<ArrayUtill> array=new ArrayList<>();
private int error;
private boolean next=false;
public List<ArrayUtill> getArray() {
return array;
}
public void setArray(ArrayList<ArrayUtill> array) {
this.array = array;
}
public int getError() {
return error;
}
public void setError(int error) {
this.error = error;
}
public boolean getNext() {
return next;
}
public void setNext(boolean next) {
this.next = next;
}
}
ArrayUtill 代码:
public class ArrayUtill {
private String username;
private int recommend;
private String user_photo;
private boolean like;
private int reply_cnt;
private String distance;
private String add_date;
private String text;
private Object stamp__name;
private int place_id;
private String ptype;
private String like_cnt;
private String posting_image_url;
private Object stamp_name;
private int user;
private Object stamp__id;
private String dislike;
private String icon;
private int id;
private int mayor_cnt;
private String place_name;
private int place_level;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public int getRecommend() {
return recommend;
}
public void setRecommend(int recommend) {
this.recommend = recommend;
}
public String getUserPhoto() {
return user_photo;
}
public void setUserPhoto(String user_photo) {
this.user_photo = user_photo;
}
public boolean getLike() {
return like;
}
public void setLike(boolean like) {
this.like = like;
}
public int getReplyCnt() {
return reply_cnt;
}
public void setReplyCnt(int reply_cnt) {
this.reply_cnt = reply_cnt;
}
public String getDistance() {
return distance;
}
public void setDistance(String distance) {
this.distance = distance;
}
public String getAddDate() {
return add_date;
}
public void setAddDate(String add_date) {
this.add_date = add_date;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public int getPlaceId() {
return place_id;
}
public void setPlaceId(int place_id) {
this.place_id = place_id;
}
public String getPtype() {
return ptype;
}
public void setPtype(String ptype) {
this.ptype = ptype;
}
public String getLikeCnt() {
return like_cnt;
}
public void setLikeCnt(String like_cnt) {
this.like_cnt = like_cnt;
}
public String getPostingImageUrl() {
return posting_image_url;
}
public void setPostingImageUrl(String posting_image_url) {
this.posting_image_url = posting_image_url;
}
public Object getStampName() {
return stamp_name;
}
public void setStampName(Object stamp_name) {
this.stamp_name = stamp_name;
}
public int getUser() {
return user;
}
public void setUser(int user) {
this.user = user;
}
public Object getStampId() {
return stamp__id;
}
public void setStampId(Object stamp__id) {
this.stamp__id = stamp__id;
}
public String getDislike() {
return dislike;
}
public void setDislike(String dislike) {
this.dislike = dislike;
}
public String getIcon() {
return icon;
}
public void setIcon(String icon) {
this.icon = icon;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getMayorCnt() {
return mayor_cnt;
}
public void setMayorCnt(int mayor_cnt) {
this.mayor_cnt = mayor_cnt;
}
public String getPlaceName() {
return place_name;
}
public void setPlaceName(String place_name) {
this.place_name = place_name;
}
public int getPlaceLevel() {
return place_level;
}
public void setPlaceLevel(int place_level) {
this.place_level = place_level;
}
}