9

Cursor を JSONArray に「変換」するにはどうすればよいですか?

3列(_id、名前、誕生)としての私のカーソル

検索しましたが、例が見つかりません

4

3 に答える 3

23

JSONArray へのカーソル

public JSONArray cur2Json(Cursor cursor) {

    JSONArray resultSet = new JSONArray();
    cursor.moveToFirst();
    while (cursor.isAfterLast() == false) {
        int totalColumn = cursor.getColumnCount();
        JSONObject rowObject = new JSONObject();   
        for (int i = 0; i < totalColumn; i++) {
            if (cursor.getColumnName(i) != null) {
                try {
                    rowObject.put(cursor.getColumnName(i),
                            cursor.getString(i));
                } catch (Exception e) {
                    Log.d(TAG, e.getMessage());
                }
            }
        }
        resultSet.put(rowObject);
        cursor.moveToNext();
    }

    cursor.close();
    return resultSet;

}
于 2014-09-28T11:42:52.420 に答える
4

カーソルの内容を JSONObject に直接変換することはできませんが、いくつかのロジックで変換できます。

例: カーソルから文字列を取得し、JSON 形式に従う文字列を形成し、それを使用して json オブジェクトを作成します。

JSONObject jFromCursor=new JSONObject(string_in_JSON_format);
于 2012-10-25T14:32:08.820 に答える