0

オブジェクトを変換しようとしていますが、このオブジェクトには ArrayList オブジェクトの属性と整数があります。

しかし、JSON オブジェクトで toString() を使用すると、オブジェクトの代わりにポインターが得られました。

{"class":"class model.ListResult","listVideo":["model.Video@706a4d1a","model.Video@52ec1f9e","model.Video@c0fe89a","model.Video@686fdca5","model.Video@7ff0a34","model.Video@78f6e005","model.Video@17eda64e","model.Video@73415727","model.Video@46c0fc8e"],"numberOfResult":109}

これが私のクラスのコードです:

public class ListResult implements Serializable {

    private int numberOfResult;
    private ArrayList<Video> listVideo;

    /**
     * Constructor
     * 
     * @param allVideoNumber
     * @param listVideo2
     */
    public ListResult(int numberOfResult, ArrayList<Video> listVideo) {

        this.numberOfResult = numberOfResult;
        this.listVideo = listVideo;

    }

    public int getNumberOfResult() {
        return numberOfResult;
    }
    public void setNumberOfResult(int numberOfResult) {
        this.numberOfResult = numberOfResult;
    }
    public ArrayList<Video> getListVideo() {
        return listVideo;
    }
    public void setListVideo(ArrayList<Video> listVideo) {
        this.listVideo = listVideo;
    }

}

そして私のメソッド呼び出し:

public String getListJson(boolean escape, int from, int number, String order, String by, ArrayList<Category> listCategory) throws Exception {

    //get list of video
    ArrayList<Video> listVideo = dbVideo.getAll(from, number, order, by, listCategory);

    JSONObject jsObject = new JSONObject(new ListResult(dbVideo.getAllVideoNumber(listCategory), listVideo));

    if(escape) {
        String  r;

        r = jsObject.toString();
        r = r.replace("\\", "\\\\");
        r = r.replace("'", "\\'");

        return r;

    }

    return jsObject.toString();

}
4

2 に答える 2

0

古い投稿ですが、とにかくここで私の問題を解決しました。Video オブジェクトのすべての属性に対してgetter (およびsetter ?)が必要です。

于 2013-12-13T16:07:34.810 に答える