在Java REST风格的Web服务(javax.ws..rs。*)Jersey中接收JSON对象
我有json contentType到glassfish服务器,我有java restful web服务安装程序的问题。
我使用针从Node.js POST:
var options = { json: true, headers: {'Content-Type':'application/json'} } needle.post(base_url+'priorityList/',priorityList,options, function(err, resp, body){ });
并与jersey接受:
@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,如果你想要具体的build议,但答案是,JSON不匹配你试图parsing它的类。 JSON有一个字段(“类别”),在类定义中不作为公共字段或setter存在。
- 使用Node.jsencryption模块进行encryption并使用Java解密(在Android应用程序中)
- 客户端Socket.io与1.0版兼容的Android实现 – 初学者
- 结合Java和NodeJs的Android应用程序
- Cqrs +微服务架构:如何从其他服务获取数据
- 如果子句在recursion函数中
- 什么是openssl的“aes-256-cfb”的Java名称?
- Java Websockets +事件监听器。 这是正确的方法吗?
- 如何在JavaScript中链接exception(即像在java中添加原因)
- 如何根据订阅级别为不同的用户devise具有不同function集的Web应用程序?