使用JSON的Jersey RESTful服务

时间:2011-09-12 13:02:05

标签: java json parsing jersey

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

JSON-发表:

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

我尝试将其解析为Java-Variables:

  @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。

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

1 个答案:

答案 0 :(得分:7)

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

的POJO
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文件。