我是我在创建杰克逊映射有点失落。我的JSON有以下结构杰克逊杰森POJO映射
{
"d": {
"__metadata": {
"uri": "https://apisalesdemo8.successfactors.com:443/odata/v2/JobApplication(1463L)",
"type": "SFOData.JobApplication"
},
"lastName": "K",
"address": "123 Main Street",
"cellPhone": "12345",
"firstName": "Katrin",
"city": "Anytown",
"country": "United States",
"custappattachment": {
"results": [
{
"__metadata": {
"uri": "https://apisalesdemo8.successfactors.com:443/odata/v2/Attachment(1188L)",
"type": "SFOData.Attachment"
},
"fileExtension": "jpeg",
"fileName": "hp-hero-img.jpeg",
"fileContent": "/9j/4AA"
},
{
"__metadata": {
"uri": "https://apisalesdemo8.successfactors.com:443/odata/v2/Attachment(1189L)",
"type": "SFOData.Attachment"
},
"fileExtension": "jpeg",
"fileName": "hp-content-bkgd-img.jpeg",
"fileContent": "/9j/4AAQSk"
}]}}}
我发现很多教程处理阵列,但我最先令牌“d”已经失败。 和所有“__metadata”令牌根本不需要。
我创建了一个pojo,其中包含像lastName等属性和一个集合附件。 但我的代码总是失败的象征 “d” 或 “__metadata”
public class ResponseDataObject {
private String lastName;
private String address;
private String cellPhone;
private String firstName;
private String city;
private String country;
private List<Attachment> attachments = new ArrayList<>();
.....getters and setters
和杰克逊读者
ObjectReader objectReader =
mapper.readerFor(ResponseDataObject.class);
ResponseDataObject dataObject = objectReader.readValue(file);
任何提示,将不胜感激。
问候 马蒂亚斯
我试过了,但它对所有属性的结果都是空值,所以我猜它们没有正确映射? –
你正在使用稍微不同的代码来解析jsonvalue,我已经更新了我的代码。试一试。 –
不,一切都是空的 –