在java RESTful Web服务(javax.ws..rs.*)中接收JSON对象
我在将json contentType发送到glassfish服务器时遇到了问题,我在那里安装了java restful web服务
我从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种方法来让它工作
非常感谢您的帮助
# 1 楼答案
你需要上传com。我的公司。推荐使用Java。JSONObject,如果您需要特定的建议,但答案是JSON与您试图解析它的类不匹配。JSON有一个字段(“类别”),在类定义中不作为公共字段或setter出现