2013-10-16 86 views
1

我有一个json contentType到Glassfish服务器,我有java restful web服务安装程序的问题。在java中接收JSON对象REST风格的Web服务(javax.ws..rs。*)泽西岛

我从Node.js的POST与针:

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: [email protected]; 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件事情来使它工作。

任何帮助是极大的赞赏

回答

1

你需要,如果你想具体咨询发布了com.mycompany.recommenderenginejava.JSONObject但得到的答复是,JSON不匹配你想类解析成。 JSON有一个字段(“类别”),它不在类定义中作为公共字段或setter存在。

+0

这是我使用的JSONObject类:http://www.json.org/javadoc/org/json/JSONObject.html – cm4l

+0

我明白你的意思,当我尝试导入JSON对象到JSON对象我不能除非有一个构造函数int他JSONObject支持POST数据...没有@consumes(MediaType.APPLICATION_JSON)帮助什么 – cm4l

+0

我不熟悉你这样做的方式,但我熟悉杰克逊。你有没有尝试过使用你赢得的POJO而不是JSON对象? – tom

相关问题