/ / JSONを使用したJersey RESTfullサービス-Java、JSON、解析、ジャージー

JSONを使ったJersey RESTfullサービス - java、json、parsing、jersey

JSON-Postの値をJava変数に解析したい。しかし、それらは常に空です!

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; charset = utf-8が見つかりませんでした。

どんな助けでもいいでしょう、私はそれを取得しません。

回答:

回答№1の場合は7

Jerseyが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;
}

また、あなたは含める必要があります ジャージー・ジェイソン jarファイル