java.lang.VerifyError: (class: com/alibaba/fastjson/parser/deserializer/FastjsonASMDeserializer_2_OcResourceApplyRequest, method: deserialze signature: (Lcom/alibaba/fastjson/parser/DefaultJSONParser;Ljava/lang/reflect/Type;Ljava/lang/Object;I)Ljava/lang/Object;) Illegal target of jump or branch
网上查了很多资料
什么fastjson版本不对,我试着各种升级降级版本都不好使,然后决定采用map接收入参,然后再转对象的方法
1.fastjson的map转jsonString,再转对象,还是不行
2.使用gson的map转jsonString,再转对象,可以,但是入参的区分大小写,严格要求,除非再加上注解
3.使用jackson的方法完美解决
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);//忽略未知字段
objectMapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true);
OcResourceApplyRequest request = objectMapper.convertValue(map, OcResourceApplyRequest.class);
好像还有方法:
加上注解@AllArgsConstructor
// ParserConfig.getGlobalInstance().setAsmEnable(false);
// System.out.println(Aaaa.class.getDeclaredFields().length);