나는 잭슨과의 매핑을 만드는 데 약간의 손실이 있습니다. 내 JSON은 다음과 같은 구조Jackson 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"토큰이 전혀 필요하지 않습니다.
lastName 등의 속성과 컬렉션 첨부 파일이 포함 된 pojo를 만들었습니다. 는하지만 내 코드는 항상 토큰 "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);
잭슨 리더에 실패합니다.
감사 마티아스는
나는 그것을 시도했다. 그러나 모든 속성에 대해 null 값을 가지므로 올바르게 매핑되지 않았을까? –
jsonvalue를 구문 분석하기 위해 약간 다른 코드를 사용하고 있습니다. 코드를 업데이트했습니다. 시도 해봐. –
아니요, 결국 모든 것이 null입니다. –