JSON解析-GSON-FastJSON.android

来源:互联网 发布:java sys refcursor 编辑:程序博客网 时间:2024/04/28 22:15

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;    }}
0 0
原创粉丝点击