天天看點

Json字元串轉實體類報錯

實體類

Json字元串轉實體類報錯

json字元串:

{"status":200,"responseBody":"{\"failRoomTypeList\":null,\"ResponseStatus\":{\"Timestamp\":\"/Date(1623299336391+0800)/\",\"Ack\":\"Success\",\"Errors\":[],\"Build\":null,\"Version\":\"v1\",\"Extension\":null},\"resultStatus\":{\"resultCode\":0,\"resultMsg\":\"success\"}}"}

JsonUtil.parserJson(response,ResponseResult.class);      

報錯:

com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of ResponseResult` (no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator)

 at [Source: (String)"{"status":200,"responseBody":"{\"failRoomTypeList\":null,\"ResponseStatus\":{\"Timestamp\":\"/Date(1623299336391+0800)/\",\"Ack\":\"Success\",\"Errors\":[],\"Build\":null,\"Version\":\"v1\",\"Extension\":null},\"resultStatus\":{\"resultCode\":0,\"resultMsg\":\"success\"}}"}"; line: 1, column: 2]

stack:

    at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:67)

    at com.fasterxml.jackson.databind.DeserializationContext.reportBadDefinition(DeserializationContext.java:1592)

    at com.fasterxml.jackson.databind.DeserializationContext.handleMissingInstantiator(DeserializationContext.java:1058)

    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1297)

    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:326)

解決方法:

加個預設構造方法。