public class User {
private String name;
public User() {
System.out.println("com.server.User()");
}
public String getName() {
System.out.println("getName");
return name;
}
public void setName(String name) {
System.out.println("setName");
this.name = name;
}
}
public static void main(String[] args) {
String x = "{\"name\": \"test\"}";
Object xx = JSON.parse(x);
System.out.println(xx);
System.out.println();
String y = "{\"@type\":\"com.server.User\",\"name\": \"test\"}";
User yy = (User) JSON.parse(y);
System.out.println(yy);
System.out.println();
String z = "{\"name\": \"test\"}";
User zz = (User) JSON.parseObject(z, User.class);
System.out.println(zz);
}
解决方案:
升级版本至1.2.68以上版本或采用谷歌的gson
1. 在代码中配置:
ParserConfig.getGlobalInstance().setSafeMode(true);
2.加上JVM启动参数:如果有多个包名前缀,可用逗号隔开。
-Dfastjson.parser.safeMode=true
3.通过fastjson.properties文件配置:通过类路径的fastjson.properties文件来配置,配置方式如下:
fastjson.parser.safeMode=true