【问题标题】:Jersey RESTfull service with JSON带有 JSON 的 Jersey RESTful 服务
【发布时间】:2011-11-15 08:11:17
【问题描述】:

我想将 JSON-Post 中的值解析为 Java-Variables。但它们总是空的!

JSON-发布:

{"algID":0,"vertices":[1,2,3]}

我尝试将其解析为 Java 变量:

  @POST
  @Consumes(MediaType.APPLICATION_JSON)
  @Path("getCloseness_vertices")
  public String getCloseness_vertices(
  @FormParam("algID") int algID,
  @FormParam("vertices") IntArray vertices)

如果我这样尝试:

public String getCloseness_vertices(int algID)

Tomcat 说:

Java 类 int、Java 类型 int 和 MIME 的消息体阅读器 媒体类型应用程序/json; charset=UTF-8 未找到。

任何帮助都会很好,我只是不明白。

【问题讨论】:

    标签: java json parsing jersey


    【解决方案1】:

    您需要创建一个 POJO,Jersey 可以将 JSON 序列化为:

    import javax.xml.bind.annotation.XmlRootElement;
    @XmlRootElement
    public class MyPojo {
        public int algID;
        public int[] verticies;
    
        public MyPojo() {} // constructor is required
    
    }
    

    那么……

    @POST
    @Consumes(MediaType.APPLICATION_JSON)
    @Path("getCloseness_vertices")
    public String getCloseness_vertices(MyPojo p) 
    {
        int i = p.algID;
    }
    

    您还需要包含jersey-json jar 文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-17
      • 1970-01-01
      • 1970-01-01
      • 2014-09-13
      相关资源
      最近更新 更多