不能从START_ARRAY令牌 序列化类的实例



我正在尝试使用带有RESTful和JSON的Web服务。

这是我的开机自检方法:

@POST
public Response setCustomerInvoiceNotifications(SetCustomerInvoiceNotificationsRequestBO requestBO, @Context HttpHeaders hh) throws JSONException, Exception {
   init(config);
    Response response = null;
    ResultBO resultBO = (ResultBO) roalCache.callService("setCustomerInvoiceNotifications", requestBO, true);
    if (resultBO != null) {
        if (resultBO.getResult() != null) {
            SetCustomerInvoiceNotificationsResponseBO responseBO = (SetCustomerInvoiceNotificationsResponseBO)resultBO.getResult();
            ObjectFactory factory = new ObjectFactory();
            JSONObject jsonObject = new JSONObject(responseBO); 
            String result = "@Produces("application/json") Output: nn Output: nn" + jsonObject;
            response = Response.status(200).cookie(cookie).entity(result).build();
        } else if (resultBO.getCause() != null) {
            JSONObject jsonObject = new JSONObject(resultBO.getCause());
            logger.debug("[{}]  jsonObject.toString = ",  jsonObject.toString() );
            String result = "@Produces("application/json") Output: nn Output: nn" + jsonObject;  
            logger.debug("[{}]  jsonObject result = ",  result );
            response = Response.status(500).cookie(cookie).entity(result).build();  
        }
    }      
    return response;
}   

我正在使用带有数组的 JSON:

[{
    "correlationId": "12345432",
    "customerId": "8508871",
    "notificationWhenIssued": {
        "destinations": {
            "channel": "email",
            "address": "razvan.nicolae90@yahoo.com"
        }
    },
    "notificationBeforeDueDate": {
        "destinations": {
            "channel": "email",
            "address": "razvan.nicolae90@yahoo.com"
        },
        "daysBeforeDueDate": "2"
    }
}]

发布 JSON 后,我收到以下消息错误:

{"message":"Can not deserialize instance of com.upc.portal.business.SetCustomerInvoiceNotificationsRequestBO 
out of START_ARRAY tokenn at 
[Source: weblogic.servlet.internal.ServletInputStreamImpl@17ac5e2; line: 1, column: 1]",
"stackTrace":"[org.codehaus.jackson.map.JsonMappingException.from(Unknown Source)...

我找到了问题的答案:

我刚刚将其添加到我的网络.xml文件中:

<init-param>
    <param-name>com.sun.jersey.config.property.packages</param-name>
    <param-value>
     my.own.packages;
     org.codehaus.jackson.jaxrs</param-value>
</init-param>

我还包括了一个罐子 - 杰克逊-全部-1.8.10

使用正确的 json 输入文件格式,这很好。

最新更新