我需要在Java的Json下面反序列化。您能帮我建立Pojo类吗?
我有一个像下面这样的POJO类,但是当我尝试反序列化时,它会抛出错误。
输入Json:
{
"log": {
"version": "1.2",
"creator": "Test",
"pages": [],
"entries": [
{
"Tag1": "01"
},
{
"Tag2": "std"
}
]
}
}
Pojo课程
import 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:无法识别的字段“ log”(类Log),未标记为可忽略(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.handleUnknownVanilla(BeanDeserializerBase.java:1570) 在com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:294) 在com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:151) 在com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4202) 在com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3070) 在HarNew.main(HarNew.java:21)