2017-08-04 24 views
0

問題が発生しました。START_ARRAYトークンからSaleListDTOのインスタンスを逆シリアル化できません

私は残りのチームによって今開発されているため、残りのサービスコールをシミュレートする必要があります。

com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of com.egencia.service.invoiceaggregator.cache.SaleListDTO out of START_ARRAY token 

はここにここに私のジャクソン・マッパー豆

Jackson2ObjectMapperBuilder 
       .json() 
       .featuresToEnable(DeserializationFeature.UNWRAP_ROOT_VALUE, DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT)         .serializationInclusion(JsonInclude.Include.NON_NULL) 
       .serializationInclusion(JsonInclude.Include.NON_EMPTY) 
       .failOnUnknownProperties(false) 
       .build(); 
@JsonRootName("list") 
public class SaleListDTO { 
    private SaleDTO[] list; 
    public SaleDTO[] getList() { 
     return list; 
    } 
    public void setList(SaleDTO[] list) { 
     this.list = list; 
    } 
} 

である私は無駄だったので、多くの組み合わせをテストしたJSONファイル

{"list": [ 
    { 
     "id": 111111, 
     "currency": "EUR", 
     "country": "ITA", 
     "name": "Italy", 
     "code": "IT" 
    },... 
]} 

です。助けてください

答えて

1

@ JsonRootName( "リスト")を削除してください。

@Getter 
@Setter 
@Data 
@AllArgsConstructor 
@NoArgsConstructor 
@ToString 
public class SaleListDTO { 

    @JsonProperty("list") 
    private SaleDTO[] list; 



} 


@Getter 
@Setter 
@Data 
@AllArgsConstructor 
@NoArgsConstructor 
@ToString 
public class SaleDTO { 

    private int id; 
    private String currency; 
    private String country; 
    private String name; 
    private String code; 



} 

試験方法:ここで

は実施例である

@Test 
    public void testConversion() throws JsonParseException, JsonMappingException, IOException{ 
     ObjectMapper mapper=new ObjectMapper(); 
     SaleListDTO dto=mapper.readValue(new File(PATH), SaleListDTO.class); 
     System.out.println(dto.toString()); 
    } 

応答:

SaleListDTO(list=[SaleDTO(id=111111, currency=EUR, country=ITA, name=Italy, code=IT), SaleDTO(id=22222, currency=IN, country=INDIA, name=CHENNAI, code=IT)]) 
+0

こんにちは@Barathは、どのライブラリからあなたは注釈を取っていますか? – Sofiane

+0

それは、プロジェクトのロンボクからだ – Sofiane

+0

org.projectlombok ロンボク 1.16.18 コンパイル Sofiane

関連する問題