Android 是否可以创建一个包含比json更多项的模型?

Android 是否可以创建一个包含比json更多项的模型?,android,json,server,Android,Json,Server,我有一个JSON有13个字段。但我用java创建了一个有15个字段的模型。因为我想有一个完整的模型,将来它会在服务器端增加字段。这样做不对吗? 我的json是: { "CMBL009001": "010001", "NMBL009002": 0, "CMBL009003": "", "CMBL009004": "", "CMBL009005": "", "CMBL009006": "", "NMBL009007": 0, "BMBL

我有一个JSON有13个字段。但我用java创建了一个有15个字段的模型。因为我想有一个完整的模型,将来它会在服务器端增加字段。这样做不对吗? 我的
json
是:

{
    "CMBL009001": "010001",
    "NMBL009002": 0,
    "CMBL009003": "",
    "CMBL009004": "",
    "CMBL009005": "",
    "CMBL009006": "",
    "NMBL009007": 0,
    "BMBL009008": 0,
    "NMBL009009": 0,
    "CMBL009010": "ADMIN",
    "CMBL009011": "",
    "NMBL009012": 2,
    "NMBL009013": 1
}
我的班级是:

public class NewUser implements Parcelable {
@SerializedName("BMBL009008")
private Long mBMBL009008;
@SerializedName("CMBL009001")
private String mCMBL009001;
@SerializedName("CMBL009003")
private String mCMBL009003;
@SerializedName("CMBL009004")
private String mCMBL009004;
@SerializedName("CMBL009005")
private String mCMBL009005;
@SerializedName("CMBL009006")
private String mCMBL009006;
@SerializedName("CMBL009010")
private String mCMBL009010;
@SerializedName("CMBL009011")
private String mCMBL009011;
@SerializedName("NMBL009002")
private Long mNMBL009002;
@SerializedName("NMBL009007")
private Long mNMBL009007;
@SerializedName("NMBL009009")
private Long mNMBL009009;
@SerializedName("NMBL009012")
private Long mNMBL009012;
@SerializedName("NMBL009013")
private Long mNMBL009013;

protected NewUser(Parcel in) {
    if (in.readByte() == 0) {
        mBMBL009008 = null;
    } else {
        mBMBL009008 = in.readLong();
    }
    mCMBL009001 = in.readString();
    mCMBL009003 = in.readString();
    mCMBL009004 = in.readString();
    mCMBL009005 = in.readString();
    mCMBL009006 = in.readString();
    mCMBL009010 = in.readString();
    mCMBL009011 = in.readString();
    if (in.readByte() == 0) {
        mNMBL009002 = null;
    } else {
        mNMBL009002 = in.readLong();
    }
    if (in.readByte() == 0) {
        mNMBL009007 = null;
    } else {
        mNMBL009007 = in.readLong();
    }
    if (in.readByte() == 0) {
        mNMBL009009 = null;
    } else {
        mNMBL009009 = in.readLong();
    }
    if (in.readByte() == 0) {
        mNMBL009012 = null;
    } else {
        mNMBL009012 = in.readLong();
    }
    if (in.readByte() == 0) {
        mNMBL009013 = null;
    } else {
        mNMBL009013 = in.readLong();
    }
}

public static final Creator<NewUser> CREATOR = new Creator<NewUser>() {
    @Override
    public NewUser createFromParcel(Parcel in) {
        return new NewUser(in);
    }

    @Override
    public NewUser[] newArray(int size) {
        return new NewUser[size];
    }
};

public Long getBMBL009008() {
    return mBMBL009008;
}

public void setBMBL009008(Long bMBL009008) {
    mBMBL009008 = bMBL009008;
}

public String getCMBL009001() {
    return mCMBL009001;
}

public void setCMBL009001(String cMBL009001) {
    mCMBL009001 = cMBL009001;
}

public String getCMBL009003() {
    return mCMBL009003;
}

public void setCMBL009003(String cMBL009003) {
    mCMBL009003 = cMBL009003;
}

public String getCMBL009004() {
    return mCMBL009004;
}

public void setCMBL009004(String cMBL009004) {
    mCMBL009004 = cMBL009004;
}

public String getCMBL009005() {
    return mCMBL009005;
}

public void setCMBL009005(String cMBL009005) {
    mCMBL009005 = cMBL009005;
}

public String getCMBL009006() {
    return mCMBL009006;
}

public void setCMBL009006(String cMBL009006) {
    mCMBL009006 = cMBL009006;
}

public String getCMBL009010() {
    return mCMBL009010;
}

public void setCMBL009010(String cMBL009010) {
    mCMBL009010 = cMBL009010;
}

public String getCMBL009011() {
    return mCMBL009011;
}

public void setCMBL009011(String cMBL009011) {
    mCMBL009011 = cMBL009011;
}

public Long getNMBL009002() {
    return mNMBL009002;
}

public void setNMBL009002(Long nMBL009002) {
    mNMBL009002 = nMBL009002;
}

public Long getNMBL009007() {
    return mNMBL009007;
}

public void setNMBL009007(Long nMBL009007) {
    mNMBL009007 = nMBL009007;
}

public Long getNMBL009009() {
    return mNMBL009009;
}

public void setNMBL009009(Long nMBL009009) {
    mNMBL009009 = nMBL009009;
}

public Long getNMBL009012() {
    return mNMBL009012;
}

public void setNMBL009012(Long nMBL009012) {
    mNMBL009012 = nMBL009012;
}

public Long getNMBL009013() {
    return mNMBL009013;
}

public void setNMBL009013(Long nMBL009013) {
    mNMBL009013 = nMBL009013;
}


public NewUser(){

}
@Override
public int describeContents() {
    return 0;
}

@Override
public void writeToParcel(Parcel dest, int flags) {
    if (mBMBL009008 == null) {
        dest.writeByte((byte) 0);
    } else {
        dest.writeByte((byte) 1);
        dest.writeLong(mBMBL009008);
    }
    dest.writeString(mCMBL009001);
    dest.writeString(mCMBL009003);
    dest.writeString(mCMBL009004);
    dest.writeString(mCMBL009005);
    dest.writeString(mCMBL009006);
    dest.writeString(mCMBL009010);
    dest.writeString(mCMBL009011);
    if (mNMBL009002 == null) {
        dest.writeByte((byte) 0);
    } else {
        dest.writeByte((byte) 1);
        dest.writeLong(mNMBL009002);
    }
    if (mNMBL009007 == null) {
        dest.writeByte((byte) 0);
    } else {
        dest.writeByte((byte) 1);
        dest.writeLong(mNMBL009007);
    }
    if (mNMBL009009 == null) {
        dest.writeByte((byte) 0);
    } else {
        dest.writeByte((byte) 1);
        dest.writeLong(mNMBL009009);
    }
    if (mNMBL009012 == null) {
        dest.writeByte((byte) 0);
    } else {
        dest.writeByte((byte) 1);
        dest.writeLong(mNMBL009012);
    }
    if (mNMBL009013 == null) {
        dest.writeByte((byte) 0);
    } else {
        dest.writeByte((byte) 1);
        dest.writeLong(mNMBL009013);
    }
}
}
public类NewUser实现可包裹{
@序列化名称(“BMBL009008”)
私人长MBL009008;
@序列化名称(“CMBL009001”)
私有字符串mCMBL009001;
@序列化名称(“CMBL009003”)
私有字符串mCMBL009003;
@序列化名称(“CMBL009004”)
私有字符串mCMBL009004;
@序列化名称(“CMBL009005”)
私有字符串mCMBL009005;
@序列化名称(“CMBL009006”)
私有字符串mCMBL009006;
@序列化名称(“CMBL009010”)
私有字符串mCMBL009010;
@序列化名称(“CMBL009011”)
私有字符串mCMBL009011;
@序列化名称(“NMBL009002”)
私人长mNMBL009002;
@序列化名称(“NMBL009007”)
私人长mNMBL009007;
@序列化名称(“NMBL009”)
私人长MNMBL009;
@序列化名称(“NMBL009012”)
私人长mNMBL009012;
@序列化名称(“NMBL009013”)
私人长mNMBL009013;
受保护的新用户(包裹中){
如果(in.readByte()==0){
MBL009008=空;
}否则{
mbl009008=in.readLong();
}
mCMBL009001=in.readString();
mCMBL009003=in.readString();
mCMBL009004=in.readString();
mCMBL009005=in.readString();
mCMBL009006=in.readString();
mCMBL009010=in.readString();
mCMBL009011=in.readString();
如果(in.readByte()==0){
mNMBL009002=空;
}否则{
mNMBL009002=in.readLong();
}
如果(in.readByte()==0){
mNMBL009007=null;
}否则{
mNMBL009007=in.readLong();
}
如果(in.readByte()==0){
MNMBL009=null;
}否则{
mNMBL009009=in.readLong();
}
如果(in.readByte()==0){
mNMBL009012=空;
}否则{
mNMBL009012=in.readLong();
}
如果(in.readByte()==0){
mNMBL009013=空;
}否则{
mNMBL009013=in.readLong();
}
}
公共静态最终创建者=新创建者(){
@凌驾
public NewUser createFromParcel(地块中){
返回新用户(在中);
}
@凌驾
public NewUser[]newArray(整数大小){
返回新用户[大小];
}
};
公共Long getBMBL009008(){
返回MBL009008;
}
公共空间MBL009008(长bMBL009008){
MBL009008=bMBL009008;
}
公共字符串getCMBL009001(){
返回mCMBL009001;
}
公共无效设置cMBL009001(字符串cMBL009001){
mCMBL009001=cMBL009001;
}
公共字符串getCMBL009003(){
返回mCMBL009003;
}
公共无效设置cMBL009003(字符串cMBL009003){
mCMBL009003=cMBL009003;
}
公共字符串getCMBL009004(){
返回mCMBL009004;
}
公共无效设置cMBL009004(字符串cMBL009004){
mCMBL009004=cMBL009004;
}
公共字符串getCMBL009005(){
返回mCMBL009005;
}
公共无效设置cMBL009005(字符串cMBL009005){
mCMBL009005=cMBL009005;
}
公共字符串getCMBL009006(){
返回mCMBL009006;
}
公共无效设置cMBL009006(字符串cMBL009006){
mCMBL009006=cMBL009006;
}
公共字符串getCMBL009010(){
返回mCMBL009010;
}
公共无效设置cMBL009010(字符串cMBL009010){
mCMBL009010=cMBL009010;
}
公共字符串getCMBL009011(){
返回mCMBL009011;
}
公共无效设置cMBL009011(字符串cMBL009011){
mCMBL009011=cMBL009011;
}
公共长getNMBL009002(){
返回mNMBL009002;
}
公共无效设置nMBL009002(长nMBL009002){
mNMBL009002=nMBL009002;
}
公共长getNMBL009007(){
返回mNMBL009007;
}
公共无效设置nMBL009007(长nMBL009007){
mNMBL009007=nMBL009007;
}
公共长getnmbl009(){
返回MNMBL009;
}
公共无效设置NMBL009(长NMBL009){
MNMBL009=NMBL009;
}
公共长getNMBL009012(){
返回mNMBL009012;
}
公共无效设置nMBL009012(长nMBL009012){
mNMBL009012=nMBL009012;
}
公共长getNMBL009013(){
返回mNMBL009013;
}
公共无效设置nMBL009013(长nMBL009013){
mNMBL009013=nMBL009013;
}
公共NewUser(){
}
@凌驾
公共int描述内容(){
返回0;
}
@凌驾
公共无效写入包裹(包裹目的地,内部标志){
如果(MBL009008==null){
目标写入字节((字节)0);
}否则{
目标写入字节((字节)1);
目的地记录(MBL009008);
}
目的地记录(mCMBL009001);
目的地书面记录(mCMBL009003);
目的地书面记录(mCMBL009004);
目的地书面记录(mCMBL009005);
目的地记录(mCMBL009006);
目的书面记录(mCMBL009010);
目的地记录(mCMBL009011);
如果(mNMBL009002==null){
目标写入字节((字节)0);
}否则{
目标写入字节((字节)1);
目的地记录(mNMBL009002);
}
如果(mNMBL009007==null){
目标写入字节((字节)0);
}否则{
目标写入字节((字节)1);
目的地记录(mNMBL009007);
}
如果(MNMBL009==null){
目标写入字节((字节)0);
}否则{
目标写入字节((字节)1);
目的地记录(MNMBL009);
}
如果(mNMBL009012==null){
目标写入字节((字节)0);
}否则{
目标写入字节((字节)1);
目的地记录(mNMBL009012);
}
如果(mNMBL009013==null){
目标写入字节((字节)0);
}否则{
目标写入字节((字节)1);
目的地记录(mNMBL009013);
}
}
}

< /代码> 是的,在模型中可以有额外的字段,但是如果服务器不给这些字段提供值,那么这些额外字段将以默认值初始化。

如果使用GSON,则必须将字段/成员声明标记为“@”,以考虑解析。使用
GsonBuilder().excludeFieldsWithoutExposeAnnotation().create()


添加额外字段,不要序列化这些字段。

是的,不要将字段标记为序列化。模型类中完全可能有比JSON本身更多的字段。但您无法读取非pr的值