2011-09-12 12 views
2

JSON-Postの値をJava-Variablesに解析したいとします。しかし、彼らは常に空です!JSONを使用したJersey RESTfullサービス

JSON-ポスト:Javaベースの変数にそれを解析する

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

私の試み:

@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が見つかりませんでした。

助けてもらえれば、私はそれを手に入れません。

答えて

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ファイルを含める必要があります。

関連する問題