主要用在JSON格式和JAVA对象之间进行传递的时候有很大的用处。由于JSON中的key与bean中的属性不能匹配,因此在转换过程中出现了部分属性为null的情况。如下:
package test;
import com.alibaba.fastjson.JSON;
public class JSONFIELD {
public static void main(String[] args) {
String testString = "{'filepath':'123','password':'456'}";
User user = JSON.parseObject(testString,User.class);
System.out.println(user.getName());
System.out.println(user.getPassword());
}
private String name;
private String password;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
}
结果为:
null
456
若要将JSON字符串filepath的值赋给bean中name,只需要加上@JSONField注解:
static class User{
@JSONField(name="filepath")
private String name;
private String password;
......
运行结果:
123
456
甚至可以将JSON字符串filepath的值赋给bean中password,
static class User{
private String name;
@JSONField(name="filepath")
private String password;
......
结果为:
null
123