2016-09-27 33 views
1

我的REST API應該返回對象的Java API - 列表<int[]>以JSON錯誤

pubic List<MyObject> getMyObjects(){...} 

爲MyObject

public class MyObject { 

    private int id; 
    private String name; 
    private List<int[]> coordinates; 

    //getters 
    //setters 
} 

這種方法工作的呼叫,沒有錯誤的列表。

問題是關於座標列表。當生成JSON時,我的int []列表被轉換成這個

"coordinates":["[[email protected]","[[email protected]","[[email protected]","[[email protected]","[[email protected]", //... 

我該如何使JSON轉換與這個列表一起工作?一切工作正常與其他變量。

+0

什麼是這些'INT的內容的[ ]'的?你使用的是什麼Json庫? –

+0

我正在使用'genson-1.4',並且這個列表包含多個[x,y],它們是座標點 – Weedoze

+3

您不應該使用int []'。創建一個合適的模型類,它將表示一個座標,您還可以檢查這些值是否有效。你的int []'可以是空的或者包含「很多」值,並且這兩種情況都是無效的,對嗎? – Tom

回答

5

您得到的結果與預期完全相同,即那些int[] s的toString()。理想情況下,你應該封裝裸座標對成Point類,但如果這是因爲有關JSON等要求不實用,使用列表而不是數組:

List<List<Integer>> coordinates;