android游标到JSONArray

我怎样才能将游标“转换”为JSONArray?android游标到JSONArray

我的光标为3columns(_id,姓名,出生年月)

我已经搜查,但我不能没有找到任何的例子

回答:

不能直接将光标的内容到一个JSONObject ,但你可以用一些逻辑来做到这一点。

为例如:检索来自光标的字符串,形成下面的JSON格式的字符串,并用它来制作一个JSON对象:

JSONObject jFromCursor=new JSONObject(string_in_JSON_format); 

回答:

private String cursorToString(Cursor crs) { 

JSONArray arr = new JSONArray();

crs.moveToFirst();

while (!crs.isAfterLast()) {

int nColumns = crs.getColumnCount();

JSONObject row = new JSONObject();

for (int i = 0 ; i < nColumns ; i++) {

String colName = crs.getColumnName(i);

if (colName != null) {

String val = "";

try {

switch (crs.getType(i)) {

case Cursor.FIELD_TYPE_BLOB : row.put(colName, crs.getBlob(i).toString()); break;

case Cursor.FIELD_TYPE_FLOAT : row.put(colName, crs.getDouble(i)) ; break;

case Cursor.FIELD_TYPE_INTEGER: row.put(colName, crs.getLong(i)) ; break;

case Cursor.FIELD_TYPE_NULL : row.put(colName, null) ; break;

case Cursor.FIELD_TYPE_STRING : row.put(colName, crs.getString(i)) ; break;

}

} catch (JSONException e) {

}

}

}

arr.put(row);

if (!crs.moveToNext())

break;

}

crs.close(); // close the cursor

return arr.toString();

}

回答:

光标到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;

}

以上是 android游标到JSONArray 的全部内容, 来源链接: utcz.com/qa/259905.html

回到顶部