我有一个String格式的JSON值,如下所示。
{
"Sample": {
"name": "some name",
"key": "some key"
},
"Offering": {
"offer": "some offer",
"amount": 100
}
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我尝试按以下方式对此进行映射,则可以正常工作并映射良好。
//mapper is ObjectMapper;
//data is the above json in String format
Map vo = mapper.readValue(data, Map.class);
Run Code Online (Sandbox Code Playgroud)
但是我想按如下方式将其映射到自定义Data类。
Data vo = mapper.readValue(data, Data.class);
Run Code Online (Sandbox Code Playgroud)
当我这样做时,vo的结果为空。
有关Data类的结构,请参阅以下内容。
@Getter
@Setter
public class Data {
private Sample sample;
private Offering offering;
}
@Getter
@Setter
public class Offering {
public String offer;
public int amount;
}
@Getter
@Setter
public class Sample {
private String name;
private String key;
}
Run Code Online (Sandbox Code Playgroud)
请告知我在做什么错。谢谢。
这里的Word Case似乎有问题。它在您的json中的“样本”。但是它的“样本”在java文件中。对于产品也是如此。
当然,如果要映射而不更改大小写,可以使用@JsonProperty。
归档时间: |
|
查看次数: |
126 次 |
最近记录: |