如何解决fastjson autoType is not support问题
fastjson版本升级后执行程序报 autoType is not support.
可以考虑通过以下两种方式解决:
1. 添加白名单
1.1 配置全局对象
在通过JSON, JSONArray, JSONObject, JSONPath, TypeUtil等工具类进行 json 处理时,其ParserConfig是全局唯一的,因此可以通过修改全局对象的方式进行白名单设置。
static {
ParserConfig.getGlobalInstance().addAccept("com.toman.json1");
ParserConfig.getGlobalInstance().addAccept("com.toman.json2");
}
1.2 配置jvm启动参数
也可以通过jvm启动参数添加
-Dfastjson.parser.autoTypeAccept=com.toman.json1,com.toman.json2
1.3 配置fastjson.properties文件
可以通过在类路径下添加fastjson.properties文件,在文件中进行白名单配置。
fastjson.parser.autoTypeAccept=com.toman.json1,com.toman.json2
2. 打开autoType功能
同样打开autoType也有多种方式。
2.1 配置全局对象
与添加白名单使用相同的全局对象。
static {
ParserConfig.getGlobalInstance().setAutoTypeSupport(true);
}
2.2 配置jvm启动参数
-Dfastjson.parser.autoTypeSupport=true
2.3 配置fastjson.properties文件
与白名单配置类似,需要在配置文件中进行如下配置。
fastjson.parser.autoTypeSupport=true
3. Maven Configuration Sample
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.48.sec10</version>
<scope>compile</scope>
</dependency>