com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "MENU_ICON" (class com.fh.entity.system.Menu), not marked as ignorable (15 known properties: "thirdNameS", "second_ID", "parentMenu", "thirdUrlS", "menu_ORDER", "menu_URL", "parent_ID", "target", "hasMenu", "menu_TYPE", "menu_ID", "subMenu", "menu_NAME", "menu_ICON", "firstUrl"]) at [Source: (StringReader); line: 1, column: 16] (through reference chain: java.util.ArrayList[0]->com.fh.entity.system.Menu["MENU_ICON"])
时间: 2023-07-21 18:04:43 浏览: 236
这个错误是由Jackson库引起的,它表示在JSON字符串中找到了一个未识别的字段,且该字段在Java对象中未定义或未标记为可忽略。在您的情况下,错误信息指出了未识别的字段"MENU_ICON"。
要解决这个问题,您可以尝试以下几种方法:
1. 确保Java对象的定义与JSON字符串的结构匹配。检查Menu类的定义,确保它包含名为"MENU_ICON"的字段,并且字段的类型正确。如果需要,您可以通过在Menu类中添加相应的getter和setter方法来解决此问题。
2. 如果"MENU_ICON"字段是可忽略的,您可以使用Jackson库的注解来标记它。在Menu类的"MENU_ICON"字段上添加`@JsonIgnore`注解,以告诉Jackson库在反序列化时忽略该字段。
3. 如果您确定JSON字符串中不会包含"MENU_ICON"字段,您可以使用Jackson库的配置来忽略未知字段。通过创建一个自定义的ObjectMapper对象,并使用`configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)`方法来禁用未知属性的验证。
下面是一个示例代码片段,演示如何应用上述方法:
```java
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.annotation.JsonIgnore;
// ...
// 创建ObjectMapper对象并配置忽略未知字段
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
// 在Menu类的"MENU_ICON"字段上添加@JsonIgnore注解
public class Menu {
// ...
@JsonIgnore
private String MENU_ICON;
// ...
}
// 使用配置和注解进行反序列化
List<Menu> menuList = objectMapper.readValue(jsonString, new TypeReference<List<Menu>>(){});
```
请注意,这只是一个示例代码片段,您需要根据您的实际情况进行适当的修改和调整。另外,您还可以根据需要调整Jackson库的其他配置来满足您的需求。
阅读全文
相关推荐
![jar](https://img-home.csdnimg.cn/images/20210720083455.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)