IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android 专门存解析数据的json类 -> 正文阅读

[移动开发]Android 专门存解析数据的json类

如果以集合的方式就复制全部数据进行解析,如果是列表方式,就直接复制其中一个元素去解析
如果是集合就是UserinfoBean userInfo这个形式,如果数据是列表,就是List list这个形式

data以集合方式
data{id:“1”,uid:“5”}
元素嵌套列表
data{list:[coin:“1”,level:“2”],“tips”: “”}
data以数组方式
data[{id:“1”,image:“25”},{}]
元素嵌套列表
data[{id:“1”,userinfo:{id:"152,name:“652”}} , {} , {}]

1.如下
在这里插入图片描述
2.通用的解析做法就是直接复制数组里面的一个元素进行解析就可以了,中括号都可以不用,下面括起来的可以不用解析的,因为服务器已经进行解析了的,就直接解析[]里面的一个元素就可以了
在这里插入图片描述

data[{id:“1”,userinfo:{id:"152,name:“652”}} , {} , {}]

3.从服务器返回的数据大概有几种类型
第一种就是数组里面有好多个元素,元素里面又有列表
data[{id:“1”,userinfo:{id:"152,name:“652”}} , {} , {}]

package com.dimi.app.data;

import com.google.gson.annotations.SerializedName;

import java.io.Serializable;
import java.util.List;


public class Dynamic implements Serializable {//第一层

    @SerializedName("id")
    private int id;
    @SerializedName("uid")
    private int uid;
    @SerializedName("title")
    private String title;
    @SerializedName("addtime")
    private int addTime;
    @SerializedName("video_thumb")
    private String videoThumb;
    @SerializedName("href")
    private String href;
    @SerializedName("city")
    private String city;
    @SerializedName("voice")
    private String voice;
    @SerializedName("length")
    private int length;
    @SerializedName("likes")
    private int likes;
    @SerializedName("comments")
    private int comments;
    @SerializedName("type")
    private int type;
    @SerializedName("isattent")
    private int isAttent;
    @SerializedName("userinfo")
    private UserinfoBean userInfo;//这个userInfo的类型是UserinfoBean,就是下面的那个类,作为一个范型,因为是一个集合{},所以就直接是UserinfoBean,如果是一个列表[],就是List<UserinfoBean>了
    @SerializedName("pics")
    private List<String> pics;
    @SerializedName("thumbs")
    private List<String> thumbs;

    public int getId() {
        return id;
    }

    public int getUid() {
        return uid;
    }

    public String getTitle() {
        return title;
    }

    public int getAddTime() {
        return addTime;
    }

    public String getVideoThumb() {
        return videoThumb;
    }

    public String getHref() {
        return href;
    }

    public String getCity() {
        return city;
    }

    public String getVoice() {
        return voice;
    }

    public int getLength() {
        return length;
    }

    public int getLikes() {
        return likes;
    }

    public int getComments() {
        return comments;
    }

    public int getType() {
        return type;
    }

    public boolean isAttent() {
        return isAttent == 1;
    }

    public UserinfoBean getUserInfo() {
        return userInfo;
    }

    public List<String> getPics() {
        return pics;
    }

    public List<String> getThumbs() {
        return thumbs;
    }

    public static class UserinfoBean implements Serializable {//第二层,就是列表中的元素里面还有一个列表的意思

        @SerializedName("id")
        private int id;
        @SerializedName("user_nickname")
        private String userNickname;
        @SerializedName("avatar")
        private String avatar;
        @SerializedName("avatar_thumb")
        private String avatarThumb;
        @SerializedName("sex")
        private int sex;
        @SerializedName("birthday")
        private int birthday;
        @SerializedName("isauth")
        private int isAuth;

        public int getId() {
            return id;
        }

        public String getUserNickname() {
            return userNickname;
        }

        public String getAvatar() {
            return avatar;
        }

        public String getAvatarThumb() {
            return avatarThumb;
        }

        public int getSex() {
            return sex;
        }

        public int getBirthday() {
            return birthday;
        }

        public int getIsAuth() {
            return isAuth;
        }
    }
}

data{list:[coin:“1”,level:“2”],“tips”: “”}

还有一种是如下,一个集合里面有两个元素,其中一个元素是列表,直接复制data里面的全部元素去解析就可以了
data{list:[coin:“1”,level:“2”],“tips”: “”}

解析出的数据如下

package com.dimi.app.data;

import com.google.gson.annotations.SerializedName;

import java.util.List;

import androidx.annotation.NonNull;

/**
 * Created by WangChunHao on 2022/02/11 09:00
 * 获取视频价格
 */
public class MoviePrice{

    @SerializedName("tips")
    private String tips;

    @SerializedName("list")
    private List<Fee> list;


    public String getTips() {
        return tips;
    }

    public List<Fee> getList() {//因为是列表,所以用list,如果是集合,就直接用fee了
        return list;
    }

    public static class Fee {//列表的解析类

        @SerializedName("coin")
        private int coin;

        @SerializedName("level")
        private int level;

        @SerializedName("canselect")
        private int canSelect;


        public int getCoin() {
            return coin;
        }

        public int getLevel() {
            return level;
        }

        public Boolean getCanSelect() {
            return canSelect==1;
        }

        @NonNull
        @Override
        public String toString() {
            return String.valueOf(coin);
        }
    }
}

data{id:“1”,uid:“5”}

有一些直接就是data{id:“1”,uid:“5”},一个集合没有嵌套,就直接把里面的数据拿去解析就可以了,解析出的数据如下

package com.dimi.app.data;

import com.google.gson.annotations.SerializedName;


public class BuyPhoto{

    @SerializedName("id")
    private int id;
    @SerializedName("uid")
    private int uId;
    @SerializedName("thumb")
    private String thumb;
    @SerializedName("thumb_s")
    private String thumbs;
    @SerializedName("views")
    private int views;
    @SerializedName("isprivate")
    private int isPrivate;
    @SerializedName("coin")
    private int coin;

    public int getId() {
        return id;
    }

    public int getuId() {
        return uId;
    }

    public String getThumb() {
        return thumb;
    }

    public String getThumbs() {
        return thumbs;
    }

    public int getViews() {
        return views;
    }

    public int getIsPrivate() {
        return isPrivate;
    }

    public int getCoin() {
        return coin;
    }
}

data[{id:“1”,image:“25”},{}]

还有一种是data[{id:“1”,image:“25”},{}],数组里面就是以集合为单位的元素,直接拿里面一个元素去解析就可以了
解析结果如下

package com.dimi.app.data;

import com.google.gson.annotations.SerializedName;

import androidx.annotation.NonNull;

/**
 * Created by ZhongXiaolong on 2022/02/25 11:31.
 * <p>
 * 首页Banner
 */
public class HomeBanner{

    @SerializedName("image")
    private String image;
    @SerializedName("url")
    private String url;

    public String getImage() {
        return image;
    }

    public String getUrl() {
        return url;
    }

    public HomeBanner setImage(String image) {
        this.image = image;
        return this;
    }

    public HomeBanner setUrl(String url) {
        this.url = url;
        return this;
    }

    @NonNull
    @Override
    public String toString() {
        return "HomeBanner{" +
                "image='" + image + '\'' +
                ", url='" + url + '\'' +
                '}';
    }
}

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-03-06 13:12:56  更:2022-03-06 13:16:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 16:30:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码