1、json串中有key为A,但指定转换的mybean中未定义属性A,会抛异常。处理:mapper.configure(Feature.FAIL_ON_UNKNOWN_PROPERTIES, false),加上这一条,就没问题了,正常转换。
2、 默认的json串,如果key或value类型非字符串,需要加上双引号的,但有些json包转换出来的json串却不一定会带上双引号。使用 jackson时,如果非字符串未加双引号,也会报错。处 理:mapper.configure(org.codehaus.jackson.map.DeserializationConfig.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true)。
import com.fasterxml.jackson.core.JsonParser.Feature;
Map map = JsonMapper.nonDefaultMapper().getMapper().configure(Feature.ALLOW_UNQUOTED_FIELD_NAMES, true) .readValue(json, Map.class);