From 03ede75b02f63f481b474539c005cb434f4aeaa8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E9=93=81?= Date: Tue, 23 Mar 2021 20:37:22 +0800 Subject: [PATCH] autotypeCheck skip LinkedHashMap --- src/main/java/com/alibaba/fastjson/parser/ParserConfig.java | 1 + src/main/java/com/alibaba/fastjson/util/TypeUtils.java | 1 + 2 files changed, 2 insertions(+) diff --git a/src/main/java/com/alibaba/fastjson/parser/ParserConfig.java b/src/main/java/com/alibaba/fastjson/parser/ParserConfig.java index 385a02c6b9..562a3e8eb3 100644 --- a/src/main/java/com/alibaba/fastjson/parser/ParserConfig.java +++ b/src/main/java/com/alibaba/fastjson/parser/ParserConfig.java @@ -1431,6 +1431,7 @@ public Class checkAutoType(String typeName, Class expectClass, int feature if (clazz != null) { if (expectClass != null && clazz != java.util.HashMap.class + && clazz != java.util.LinkedHashMap.class && !expectClass.isAssignableFrom(clazz)) { throw new JSONException("type not match. " + typeName + " -> " + expectClass.getName()); } diff --git a/src/main/java/com/alibaba/fastjson/util/TypeUtils.java b/src/main/java/com/alibaba/fastjson/util/TypeUtils.java index a1934384df..8d225a143a 100644 --- a/src/main/java/com/alibaba/fastjson/util/TypeUtils.java +++ b/src/main/java/com/alibaba/fastjson/util/TypeUtils.java @@ -1611,6 +1611,7 @@ private static void addBaseClassMappings(){ java.lang.VerifyError.class, java.lang.StackTraceElement.class, java.util.HashMap.class, + java.util.LinkedHashMap.class, java.util.Hashtable.class, java.util.TreeMap.class, java.util.IdentityHashMap.class,