2012-04-27 18 views
0

データ形式に問題があります。私は、単純なJAXBクラスJSON、JAXB、書式設定の問題

@XmlRootElement(name="") 
public class MyProgressResponse { 
    private int weight; 
    private long date; 
    /** 
    * Weight is treated as a Y Axis. 
    * @return 
    */ 
    @XmlElement(name="y") 
    public int getWeight() { 
     return weight; 
    } 
    public void setWeight(int weight) { 
     this.weight = weight; 
    } 
    /** 
    * This is a UTC format of a time. 
    * value is a number of milliseconds between a specified date and midnight January 1 1970 
    * This is also treated as a X-Axis 
    * @return 
    */ 
    @XmlElement(name="x") 
    public long getDate() { 
     return date; 
    } 
    public void setDate(long date) { 
     this.date = date; 
    } 
} 

ていると私は、データを返す埋めるRESTサービスをしたいです。この

@GET 
@Path("/my") 
@Produces(MediaType.APPLICATION_JSON) 
public MyProgressResponse[] getProgressResponse(){ 
    // Get the data from DB 
    // Here the getDate will give me List<MyProgressResponse> 
    return getData().toArray(new MyProgressResponse[0]); 
} 

のように今、私が受け取るJSONは

[ 
{ 
    { 
    "x": 1335499200000, 
    "y": 85 
    } 
}, 
{ 
    { 
    "x": 1334894400000, 
    "y": 84 
    } 
}, 
.... 
] 

のようなものです。しかし、私の要件は、1つの余分のブロック{ }を持っていないということです。

[ 
    { 
    "x": 1335499200000, 
    "y": 85 
    }, 
    { 
    "x": 1334894400000, 
    "y": 84 
    }, 
    .... 
] 

これはHighChartで使用します。私はデータを受け取った後、私はJSのデータをフォーマットすることができますが、それは余分な時間がかかるだろうと私はそれを望んでいない。

誰が

おかげで、

タルハガムアーメド・カーン

+0

出力をJSONではなくXMLとして返すとどうなりますか? – beerbajay

+0

あなたは 'MyProgressResponse'クラスを公開できますか?あなたが提供したJSON出力は本当に奇妙です。私にとっては、MyProgressResponseクラスの継承と関連しているようです。 –

答えて

0
は、ArrayListにメソッドの戻り値の型を変更

データをフォーマットで私を助けることができることができます:

@GET @Path("/my") 
@Produces(MediaType.APPLICATION_JSON) 
public ArrayList<MyProgressResponse> getProgressResponse(){  
// Get the data from DB  
// Here the getDate will give me List<MyProgressResponse> 

ArrayList<MyProgressResponse> response=(ArrayList<MyProgressResponse>) getData(); 

return response; 
} 

また、あなたの作りますBeanクラスはSerializableを実装しています。

+0

'List 'に変換しても変更はありません –

+0

私は私の答えを編集しました。 – shashankaholic