曾经尝试映射我从REST API调用中接收到的某个JSON字符串,但到目前为止,我仅收到以下消息。
Unrecognized field "my_first_field" (class MyClass), not marked as ignorable
我一直通过以下方式解析IOUtils
类的内容(也许是根本原因)。
String json = IOUtils.toString(responseEntity.getContent(), UTF_8);
完成此操作后,我尝试使用ObjectMapper
将有效负载String映射到我的POJO类。
new ObjectMapper().readValue(json, new TypeReference<MyClass>(){ })
但是,在执行该步骤时,会提示出现开头提到的异常。 POJO类如下。
public static class MyClass {
@JsonProperty("my_first_field")
private List<Map<String, String>> myFirstField;
@JsonProperty("my_second_field")
private String mySecondField;
public MyClass() { }
public MyClass(List<Map<String, String>> myFirstField, String mySecondField) {
this.myFirstField = myFirstField;
this.mySecondField = mySecondField;
}
(...)
}
忽略那些未知字段将导致所有POJO字段均为空。这可能是什么问题?
编辑:JSON示例
{"my_second_field":"samplevalue", "my_first_field":[{"inner":"value"}]}
答案 0 :(得分:2)
确保从fastxml包而不是其他任何地方导入@JsonProperty
注释。