diff --git a/APIJSONORM/src/main/java/apijson/orm/AbstractObjectParser.java b/APIJSONORM/src/main/java/apijson/orm/AbstractObjectParser.java index 0a35761cb..175e79b21 100755 --- a/APIJSONORM/src/main/java/apijson/orm/AbstractObjectParser.java +++ b/APIJSONORM/src/main/java/apijson/orm/AbstractObjectParser.java @@ -262,7 +262,10 @@ public AbstractObjectParser parse(String name, boolean isReuse) throws Exception break; } - String key = entry == null ? null : entry.getKey(); + // key可能为JSONArray,需要进行手动转换(fastjson为低版本时允许自动转换,如1.2.21) + // 例如request json为 "{[]:{"page": 2, "table1":{}}}" + Object field = entry == null ? null : entry.getKey(); + String key = field instanceof JSONArray ? ((JSONArray) field).toJSONString() : field.toString(); Object value = key == null ? null : entry.getValue(); if (value == null) { continue;