我想将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。
任何帮助都会很好,我只是不明白。
答案 0 :(得分:7)
您需要创建一个可以将JSON序列化为:
的POJOimport 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文件。