Jackson在反序列化期间在arrayList前添加了空对象

问题描述:

我有一个简单的POJO(ProviderModel)。 当我反序列化这些对象的列表(请参阅代码:列表提供程序)时,会在JSON前添加一个空对象。 我使用杰克逊1.9.13 ANS春3.0.7Jackson在反序列化期间在arrayList前添加了空对象

@RequestMapping(value = "/provider/update", method = RequestMethod.POST) 
@ResponseStatus(HttpStatus.OK) 
public List<ProviderModel> updateLongList(@RequestBody ArrayList<Map<String, Object>> models, 
     HttpServletRequest request) { 

    List<ProviderModel> providers = new ArrayList<ProviderModel>(); 

    for (Map<String, Object> model : models) { 

     ProviderModel providerModel = new ProviderModel(); 
     providerModel.setId((int) model.get("id")); 

     long rfpId = Long.parseLong((String) request.getSession().getAttribute("rfpId")); 
     MYLOG.info("rfpId = " + rfpId); 

     long listId = ProviderListLocalServiceUtil.findLongListforRfP(rfpId); 
     User user = null; 
     long userId = 0; 

     try { 
      user = OsdeUserUtil.getUserFromCookies(request); 
      userId = user.getUserId(); 
     } catch (PortalException | SystemException | EncryptorException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } 

     long providerId = providerModel.getId();    

     // add to LongList 
     try { 

      ProviderListEntryServiceUtil.addProviderListEntryByListId(listId, userId, providerId); 
      providers.add(providerModel); 

     } catch (SystemException | PortalException e) { 

      // TODO Auto-generated catch block 
      e.printStackTrace(); 

     } 
     MYLOG.info("Provider hinzugefügt " + model.get("id") + "/" + model.get("name")); 
    } 

    return providers; 
} 

这是响应:

{} 
&& { 
    "providerModelList": [{ 
      "id": 1502, 
      "name": null, 
      "location": null, 
      "description": null, 
      "imagePath": null, 
      "detailUrl": null, 
      "providerStatus": null 
     } 
    ] 
} 

任何意见或提示?

我发现了错误! @RespondBody中缺少方法签名:

@RequestMapping(value = "/provider/update", method = RequestMethod.POST) 
    @ResponseStatus(HttpStatus.OK) 
    public @RespondBody List<ProviderModel> updateLongList(@RequestBody ArrayList<Map<String, Object>> models, 
      HttpServletRequest request) {...}