簡體   English   中英

在Java RESTful Web服務(javax.ws..rs。*)中接收JSON對象

[英]receiving JSON object in java RESTful Web Services (javax.ws..rs.*) Jersey

我在將json contentType傳遞到具有Java Restful Web服務設置的glassfish服務器時遇到問題。

我用針從Node.js發布:

var options = {
    json: true,
    headers: {'Content-Type':'application/json'}
}

needle.post(base_url+'priorityList/',priorityList,options, function(err, resp, body){
});

並收到球衣:

@POST
@Path("/priorityList/")
@Consumes(MediaType.APPLICATION_JSON)
//@Consumes("text/plain")
@Produces(MediaType.APPLICATION_JSON)

public JSONArray priorityList(JSONObject incomingJsonString)throws IOException {
}

它在glassfish服務器上給了我這個錯誤:

WARNING:   StandardWrapperValve[com.mycompany.recommenderenginejava.ApplicationConfig]: Servlet.service() for servlet com.mycompany.recommenderenginejava.ApplicationConfig threw exception
org.codehaus.jackson.map.exc.Unr`enter code here`ecognizedPropertyException: Unrecognized field "{"categories":["golf","banks"]}" (Class com.mycompany.recommenderenginejava.JSONObject), not marked as ignorable
 at [Source: org.glassfish.jersey.message.internal.EntityInputStream@4c0db744; line: 1, column: 43] (through reference chain: com.mycompany.recommenderenginejava.JSONObject["{"categories":["golf","banks"]}"])
    at org.codehaus.jackson.map.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:53)
    at org.codehaus.jackson.map.deser.StdDeserializationContext.unknownFieldException(StdDeserializationContext.java:267)
    at org.codehaus.jackson.map.deser.std.StdDeserializer.reportUnknownProperty(StdDeserializer.java:673)

我似乎不明白,它應該采用正確的格式,並嘗試了1000件事來使其正常工作。

任何幫助是極大的贊賞

如果需要具體建議,則需要發布com.mycompany.recommenderenginejava.JSONObject,但答案是JSON與您要解析為該類的類不匹配。 JSON具有一個字段(“類別”),該字段在類定義中不作為公共字段或設置器出現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM