亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關于Json數據的手動解析

發布時間:2020-07-28 19:28:05 來源:網絡 閱讀:976 作者:IT學無止境 欄目:移動開發

    前幾天做項目遇到了個關于服務器返回的JSONObject解析的問題,想記錄一下。

    關于Json的解析一般用2種方法,第一是下載GSON的JAR包,采用GSON解析,這種解析雖然方便使用,但是對于一些特殊格式的Json字符串是行不通的。而且JavaBean也寫不出來。先上圖:

關于Json數據的手動解析

對于這樣的對象包對象的形式,不適合寫傳統的JavaBean,需要采用手動解析的形式。手動解析非常強大,基本可以對各種格式的Json字符串進行解析。

下面是我解析的類:

public class OriginalRankBean {
    public String author;
    public String play;
    public String pic;
    public String title;
    public String video_review;

    public List<OriginalRankBean> parse(JSONObject obj) {
        if (obj == null) {
            return null;
        }
        List<OriginalRankBean> datalist=new ArrayList<OriginalRankBean>();
            obj = obj.optJSONObject("list");

           for (int i = 0; i <obj.length(); i++) {
                if(obj.has(i+"")){
                    OriginalRankBean rank = new OriginalRankBean();
                    JSONObject optJSONObject = obj.optJSONObject(i + "");
                    rank.author = optJSONObject.optString("author");
                    rank.play = optJSONObject.optString("comment");
                    rank.pic = optJSONObject.optString("pic");
                    rank.title = optJSONObject.optString("title");
                    rank.video_review = optJSONObject.optString("video_review");
                    datalist.add(rank);
                }
            }
        return datalist;

    }

}

在手動解析的javaBean中寫入方法,通過調用方法,直接返回一個集合。在外面進行方法的調用并傳入JSONObject,再創建一個集合進行接收就可以了。

注意:這里用opt可以防止報異常,因為opt內部已經做了判斷了,而使用get的形式需要拋異常。

在解析過程中,只拿自己需要的數據就可以了。

注意上來先判空,如果請求回來的JSONObject是空的話,那就沒必要解析了,直接return,去檢查url和請求網絡的方法是否出現了問題。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

田东县| 怀集县| 当涂县| 武山县| 西贡区| 来凤县| 呼和浩特市| 张掖市| 莱芜市| 昌江| 石狮市| 望谟县| 宝清县| 乐山市| 石柱| 津南区| 东明县| 阜康市| 冀州市| 怀宁县| 宿州市| 安图县| 缙云县| 镶黄旗| 汤原县| 临汾市| 晋州市| 兴文县| 应城市| 定远县| 新河县| 西和县| 辰溪县| 睢宁县| 同德县| 海门市| 万载县| 高邑县| 枣阳市| 理塘县| 枞阳县|