我正在寻找解决此问题的方法,但找不到任何东西。
我有来自HttpURLConnection
的JSON响应:
"OK"
乍一看,我认为这种响应是不正确的,因为我总是看到一些键->值对JSON。读完JSON can take this form后,我了解到:
如果尝试验证
"OK"
,https://jsonlint.com/给我一个有效的JSON响应,所以我认为这是正确的。现在我的问题是:如何在Jackson中使用此JSON响应映射Java类(称为RestResponse)?我尝试这样做,但不起作用给我
JsonMappingException: no single-String constructor/factory method
:final String json = "OK";
final ObjectMapper mapper = new ObjectMapper()
.enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
final RestResponse response = mapper.readValue(json, RestResponse.class);
我什至不知道从
RestResponse
java类开始,因为它没有可以用Jackson标记(例如@JsonProperty)标记的属性。有谁知道为什么杰克逊不考虑此回应案件?
还是仅仅是另一种方法?
感谢大伙们。
最佳答案
您的RestResponse
将需要一个采用单个字符串的构造函数。用@JsonCreator
注释构造函数。