使Jackson解释单值JSON

时间:2018-09-17 16:42:48

标签: java json jackson

我正在寻找解决此问题的方法,但找不到任何东西。

我有一个来自HttpURLConnection的JSON响应:

"OK"

乍一看,我认为这种响应是不正确的,因为我总是看到一些键->值对JSON。读完JSON can take this form后,我了解到:

enter image description here

如果尝试验证"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)标记的属性。

有人知道为什么杰克逊不考虑此回应案件吗? 还是仅存在另一种方法?

谢谢你们。

1 个答案:

答案 0 :(得分:2)

您的RestResponse将需要一个采用单个字符串的构造函数。用@JsonCreator注释构造函数。