假设我有一个JSON文件example.json
example.json
{
"BaggageMaxSize" : {
"mesurement" : "sum",
"width" : 70,
"height" : 50,
"depth" : 40
}
}
创建POJO类:
public class pojoexample{
private BaggageMaxSize BaggageMaxSize;
// getter
// setter
}
然后:
public class BaggageMaxSize
{
private String height;
private String width;
private String depth;
private String mesurement;
// getter
// setter
}
现在,我想使用mapper.readValue将文件更改为BaggageInfoPolicy.class:
BaggageInfoPolicy bip = mapper.readValue(file, BaggageInfoPolicy.class);
但bip.getBaggageMaxSize().getMesurement()
返回null值。有什么建议吗?
答案 0 :(得分:0)
首先尝试使用mapper.writeValue
并检查生成的JSON对象的外观。很可能,当您从JSON反序列化时,int -> string
中的BaggageMaxSize
转换存在问题。
另外,请检查您的getter / setter是否公开显示,并且可以pojoexample
和BaggageMaxSize
同时使用。
答案 1 :(得分:0)
实际上,您的JSON代表pojoexample
类实例,而不是BaggageInfoPolicy
对象,您尚未在帖子中分享这些对象。
因此您需要将代码更改为:
PojoExample bip = mapper.readValue(file, PojoExample.class);
因此它正确读取PojoExample
对象。
注意:强>
class
应遵循java命名约定和
以大写字母开头,这就是我将其更改为PojoExample
的原因,
也可以在类定义中更改它。types
相同,并且getters
和setters
已正确实施。