如何解决 fastjson autoType is not support 问题

如何解决fastjson autoType is not support问题

  • 1. 添加白名单
    • 1.1 配置全局对象
    • 1.2 配置jvm启动参数
    • 1.3 配置fastjson.properties文件
  • 2. 打开autoType功能
    • 2.1 配置全局对象
    • 2.2 配置jvm启动参数
    • 2.3 配置fastjson.properties文件
  • 3. Maven Configuration Sample
  • 参考

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.alibabagroupId>
    <artifactId>fastjsonartifactId>
    <version>1.2.48.sec10version>
    <scope>compilescope>
dependency>

参考

FastJson autoType is not support
阿里巴巴fastjson的使用问题

你可能感兴趣的:(Java)