我想将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媒体类型application / json的消息正文阅读器;找不到字符集= UTF-8。
任何帮助都很好,我只是不明白。
您需要创建一个POGO,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文件。