关于gson解析中的@SerializedName注解

用gson来解析JSON格式的数据是一种常用的做法,但是有时返回的JSON数据的某些字段过于简单或者不够直观,不太适合直接作为Java字段来命名,比如:

{
    "person": [
        {

                    "id": "00001",
                    "n": "张三",
                    "a": "34",
                    "s": "男",
        }
    ]
}

若使用一个Person类来解析的话,不用@SerializedName注解是这样写:

Public class Person {
    private int id;
    private String n;
    private int a;
    private String s;
}

讲道理就算第一次自己写的时候能看懂,后期代码多了或者要增加新东西了,过来再次看的时候若是没有注释的话肯定是一脸懵逼(我了个去啥东西这是),n a s 鬼知道啥玩意,可读性很差,但是使用@SerializedName注解就很方便,这样写:


Public class Person {
    private int id;

    @SerializedName("n")
    private String name;

    @SerializedName("a")
    private int age;

    @SerializedName("s")
    private String sex;

}

​

这样写就能一眼看出n a s各对应什么字段了,@SerializedName注解还是很方便的,建立了JSON字段与Java字段之间的映射关系。gson解析时n a s对应的值就会被赋值到name ,age , sex 上了。

你可能感兴趣的:(关于gson解析中的@SerializedName注解)