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