Json解析注解 ---@SerializedName


項目前后端交互采用的是JSON傳輸,因為前后端溝通不多,經常造成數據格式不統一;在不想后台改動太多下,需要使用@SerializedName解決這個問題

解析數據使用的是Gson解析的json數據

@SerializedName(value = "name", alternate = {"Name", "studentName", "fullName"})中有兩個屬性,value="默認key",alternate="別名key1,別名key1...",別名可以有多個,多個別名用“,”分隔,便降低了數據別名不統一造成的解析異常

public class Student{
    @SerializedName(value = "name", alternate = {"Name", "studentName", "fullName"})
    private String name;
    @SerializedName(value = "age", alternate = {"Age", "year", "Year"})
    private String age;
    @SerializedName(value = "class", alternate = {"Class", "remove", "Remove"})
    private String class;
    @SerializedName(value = "id", alternate = {"ID", "studentId", "stuengtNumber"})
    private String id;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name= name;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age= age;
    }

    public String getClass() {
        return class;
    }

    public void setClass(String class) {
        this.class = class;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id= id;
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM