蔡香满屋
站在牛顿头上吃苹果

@JSONField注解可以用在方法(method),属性(field)以及方法中的参数(parameter)上。JSONField中的name属性用来指定JSON串中key的名称。主要用于指定入参的名字

@JSONField作用在Field时,其name不仅定义了输入key的名称,同时也定义了输出的名称。
public class Person {
    @JSONField(name = "name") // 注意观察生成的JSON串中name和age的区别
    private String name;
    @JSONField(name = "AGE")
    private String age;

    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;
    }
}

@JSONField也可以直接作用在get或set方法上
@JSONField(name = "name")
public String getName() {
    return name;
}

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

@JSONField(name = "AGE")
public String getAge() {
    return age;
}

@JSONField(name = "AGE")
public void setAge(String age) {
    this.age = age;
}

PS:FastJson在进行操作时,是根据getter和setter的方法进行的,并不是依据Field进行。

public class PersonTest { private Person person; /** * 初始化对象 */ @Before public void setUp() { person = new Person(); person.setName("gyl"); person.setAge("20"); } @Test public void test() { String jsonStr = JSONObject.toJSONString(person); System.out.println("bean to json:" + jsonStr); person = JSONObject.toJavaObject(JSONObject.parseObject(jsonStr), Person.class); System.out.println("json to bean:" + person.getName()); } }
Output: bean to json:{"AGE":"20","name":"gyl"} json to bean:gyl ———————————————— 版权声明:本文为CSDN博主「Yanliang_」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/badguy_gao/article/details/82853895

  

@JSONField作用在Field时,其name不仅定义了输入key的名称,同时也定义了输出的名称。public class Person {    @JSONField(name = "name") // 注意观察生成的JSON串中name和age的区别    private String name;    @JSONField(name = "AGE")    private String age;
    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;    }}
@JSONField也可以直接作用在get或set方法上@JSONField(name = "name")public String getName() {    return name;}
@JSONField(name = "name")public void setName(String name) {    this.name = name;}
@JSONField(name = "AGE")public String getAge() {    return age;}
@JSONField(name = "AGE")public void setAge(String age) {    this.age = age;}
PS:FastJson在进行操作时,是根据getter和setter的方法进行的,并不是依据Field进行。————————————————版权声明:本文为CSDN博主「Yanliang_」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/badguy_gao/article/details/82853895

posted on 2019-09-06 11:16  蔡香满屋  阅读(1818)  评论(0)    收藏  举报