如何解决 fastjson autoType is not support 问题

    技术2022-07-10  108

    如何解决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.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.48.sec10</version> <scope>compile</scope> </dependency>

    参考

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

    Processed: 0.018, SQL: 9