我正在寻找解决此问题的方法,但找不到任何东西。
我有来自 HttpURLConnection
的 JSON 响应:
"OK"
乍一看,我认为这种响应不正确,因为我总是看到一些键 -> 值对 JSON。在我读到 JSON can take this form 后我学到了:
和https://jsonlint.com/如果尝试验证“OK”
,请给我一个有效的JSON响应,所以我认为它是正确的。现在我的问题是:如何在 Jackson 中将 Java 类(称为 RestResponse)映射到此 JSON 响应?
我尝试了这个,但不起作用给我JsonMappingException:没有单字符串构造函数/工厂方法
:
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 类,因为它没有像 @JsonProperty 这样可以用 Jackson 注释标记的属性。
有谁知道为什么 jackson 不考虑这个响应案例? 或者还有其他方法吗?
谢谢大家。
最佳答案
您的RestResponse
将需要一个采用单个字符串的构造函数。使用 @JsonCreator
注解构造函数。
关于java - 让 Jackson 解释单值 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52372333/