java - 让 Jackson 解释单值 JSON

标签 java json jackson

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

我有来自 HttpURLConnection 的 JSON 响应:

"OK"

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

enter image description here

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/

相关文章:

javascript - 与号和数字符号(& 和 #)

java - 如何告诉 Jackson 在反序列化时将无法识别的 json 数据放入特定字段

javascript - 将 JSON HTTP POST 请求转换为 Java 对象时出错

java - 如何使用 Jackson 的 objectMapper 反序列化接口(interface)字段?

java - 将任意大括号作为语句 - 它们是什么意思?

java - 将数组打印到 JTextArea 时出现问题

java - 更改屏幕 LWJGL 窗口出现

ios - 如何从 API 添加标志图像?

java - 在 N :M table? 中将数据插入 PostgreSQL 的最快方法是什么

java - 如何在 Jackson 中获取 "JAX-B-like"XMLRootElement 类名包装器