JSON中JSONField的使⽤
问题:最近为设备端开发接⼝,在接⼝定义阶段,发现⼀个问题,设备端的参数命名⽅式是_隔开的,⽐如first_name,后端的Java命名⽅式是驼峰标⽰,⽐如firstName。怎么把他们对应起来呢?。
办法:采⽤com.alibaba.fastjson.annotation.JSONField
把Java对象中的firstName转化为first_name;
把前端的参数first_name映射到Java对象的firstName中。
例⼦:
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.annotation.JSONField;
public class JsonTest {
public static void main(String[] args) {
Person p = new Person();
p.setFirstName("nihao");
p.setClassId(11);
p.setRemart("haha");
// 转化的json字符串,会把firstName对应为first_name
String json = JSONString(p);
System.out.println(json);
// 转化的对象,会把first_name对应到firstName
Person pp = JSON.parseObject(json, Person.class);
System.out.FirstName());
}
}
class Person {
@JSONField(name="first_name")
private String firstName;
@JSONField(name="class_id")
private int classId;
private String remart;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
fastjson怎么用public int getClassId() {
return classId;
}
public void setClassId(int classId) {
this.classId = classId;
}
public String getRemart() {
return remart;
}
public void setRemart(String remart) {
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。