java - Java中用于反序列化的POJO类
问题描述
我需要在 Java 中反序列化 Json 以下。你能帮我创建 Pojo 类吗?
我有像下面这样的 POJO 类,但是当我尝试反序列化它时抛出错误。
输入Json:
{
"log": {
"version": "1.2",
"creator": "Test",
"pages": [],
"entries": [
{
"Tag1": "01"
},
{
"Tag2": "std"
}
]
}
}
Pojo类
导入 java.util.ArrayList;
public class Log {
public Log() {}
private String version;
private Creator creator;
private ArrayList<String> pages;
private Entries entries[];
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
public Creator getCreator() {
return creator;
}
public void setCreator(Creator creator) {
this.creator = creator;
}
public ArrayList<String> getPages() {
return pages;
}
public void setPages(ArrayList<String> pages) {
this.pages = pages;
}
public Entries[] getEntries() {
return entries;
}
public void setEntries(Entries[] entries) {
this.entries = entries;
}
}
我的主要课程
公共类 HarNew {
public static void main(String[] args) {
File f = new File("C:\\Users\\Shankar.Manickam\\Desktop\\onerequestwthouttransfer.json");
ObjectMapper mapper = new ObjectMapper();
try {
Log log = mapper.readValue(f, Log.class);
String s = mapper.writeValueAsString(log);
System.out.println(s);
System.out.println("URL is\t"+log.getVersion());
System.out.println("URL is\t"+log.getVersion());
} catch (JsonParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JsonMappingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
错误
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:无法识别的字段“日志”(日志类),未标记为可忽略(4 个已知属性:“版本”、“创建者”、“条目”、“页面”])在 [源文件); 行:2,列:10](通过引用链:Log["log"])在 com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:61) 在 com.fasterxml.jackson.databind。 DeserializationContext.handleUnknownProperty(DeserializationContext.java:840) 在 com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:1179) 在 com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase. java:1592) 在 com.fasterxml.jackson.databind.deser.BeanDeserializerBase。
解决方案
推荐阅读
- django - 如何动态(?)在 Django 模型中添加字段?
- javascript - 关闭模态窗口后停止播放 iframe 视频
- java - 如何在 TestNG 侦听器方法中传递参数 - Selenium Java
- mongodb - 用于数据库访问事件的 MongoDB REST API 不起作用:401 客户端错误:未经授权
- python - 如何根据条件重新编码列
- ietf-netmod-yang - 在杨建模中,我想实现一个叶子,它可以接受 10 到 1000 范围内的值,是 10 的倍数
- django - PasswordResetForm 不发送电子邮件
- c - 从C中的文件中逐个字符地读取
- android - 设置子片段中的视图属性
- php - 如何在 Drupal 7 中获取特定列