Java 如何从表中检索一行并将该值设置为json数组,并将该json数组作为返回值

Java 如何从表中检索一行并将该值设置为json数组,并将该json数组作为返回值,java,android,json,sqlite,Java,Android,Json,Sqlite,联系方式 Cursor cursor = db.rawQuery("SELECT * FROM " + TB_AssessmentChooseValues.NAME + " where " + TB_AssessmentChooseValues.CL_1_USER_ID + "='"+ userid +"' AND " + TB_Assessm

联系方式

   Cursor  cursor = db.rawQuery("SELECT * FROM "
                        + TB_AssessmentChooseValues.NAME + " where "
                        + TB_AssessmentChooseValues.CL_1_USER_ID + "='"+ userid +"' AND " 
                        + TB_AssessmentChooseValues.CL_2_BOOK_ID + "='"+ bookid +"' AND " 
                        + TB_AssessmentChooseValues.CL_3_CHAPTER_ID + "='" + chapterid +"' AND "
                        + TB_AssessmentChooseValues.CL_4_QUESTION_ID + "='" + questionid + "'",null);

    if(cursor.getCount() > 0) {
        cursor.moveToFirst();

        do {
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("userid", cursor.getString(cursor.getColumnIndex(TB_AssessmentChooseValues.CL_1_USER_ID)));
            jsonObject.put("bookid", cursor.getString(cursor.getColumnIndex(TB_AssessmentChooseValues.CL_2_BOOK_ID)));
            jsonObject.put("chapterid", cursor.getString(cursor.getColumnIndex(TB_AssessmentChooseValues.CL_3_CHAPTER_ID)));
            jsonObject.put("questionid", cursor.getString(cursor.getColumnIndex(TB_AssessmentChooseValues.CL_4_QUESTION_ID)));
            jsonObject.put("optionid", cursor.getString(cursor.getColumnIndex(TB_AssessmentChooseValues.CL_5_OPTION_ID)));
            jsonObject.put("currentanswer", cursor.getString(cursor.getColumnIndex(TB_AssessmentChooseValues.CL_6_CURRENT_ANSWER)));
            array.put(jsonObject);
        } while(cursor.moveToNext());

        object .put("getchooseinfo",array);
    }
    cursor.close();
}
catch(Exception e)
{
    e.printStackTrace();
}

return object ;
检索json数组

> JSONObject  RetrievedChoose = rdb.getChooseContact(getContext(),userid, BookId ,chapter_idchoose ,question_idchoose); 
                         try {
                            JSONArray jsonMainArr = RetrievedChoose.getJSONArray("array");
                            Log.d("logchoose", "getsuccess"+jsonMainArr);
                        } catch (JSONException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        } 
显示的错误是

 08-12 10:41:11.707: W/System.err(9253): org.json.JSONException: No value for array
 08-12 10:41:11.707: W/System.err(9253): org.json.JSONException: No value for array
 08-12 10:41:11.707: W/System.err(9253):    at org.json.JSONObject.getJSONArray(JSONObject.java:584)
 08-12 10:41:11.707: W/System.err(9253):    at com.aeldata.eduflex.fragment.DoublePageFragment$MyWebChromeClient.onJsAlert(DoublePageFragment.java:549)
 08-12 10:41:11.707: W/System.err(9253):    at com.android.webview.chromium.WebViewContentsClientAdapter.handleJsAlert(WebViewContentsClientAdapter.java:805)
 08-12 10:41:11.707: W/System.err(9253):    at org.chromium.android_webview.AwContentsClientBridge.handleJsAlert(AwContentsClientBridge.java:232)
 08-12 10:41:11.707: W/System.err(9253):    at org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
 08-12 10:41:11.708: W/System.err(9253):    at org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:39)
public ArrayList getSpecificPersonstraction(字符串名称){
ArrayList=新建ArrayList();
list.clear();
SQLiteDatabase=this.getWritableDatabase();
字符串selectQuery=(“从AddNewPerson中选择*,其中名称=”+“名称+”);
Cursor=database.rawQuery(selectQuery,null);
豌豆;
if(cursor.moveToFirst()){
while(cursor.isAfterLast()==false){
bean=新的ViewPeopleBean();
bean.id=cursor.getString(cursor.getColumnIndex(“NU_id”));
bean.Name=cursor.getString(cursor.getColumnIndex(“Name”));
bean.Amount=cursor.getString(cursor.getColumnIndex(“Amount”);
bean.Description=cursor.getString(cursor
.getColumnIndex(“说明”);
Status=cursor.getString(cursor.getColumnIndex(“Status”);
bean.datetime=cursor.getString(cursor
.getColumnIndex(“日期和时间”);
添加(bean);
cursor.moveToNext();
}
}
cursor.close();
退货清单;
}
公共阵列列表GetSpecificPersonTransaction(字符串名称){
ArrayList=新建ArrayList();
list.clear();
SQLiteDatabase=this.getWritableDatabase();
字符串selectQuery=(“从AddNewPerson中选择*,其中名称=”+“名称+”);
Cursor=database.rawQuery(selectQuery,null);
豌豆;
if(cursor.moveToFirst()){
while(cursor.isAfterLast()==false){
bean=新的ViewPeopleBean();
bean.id=cursor.getString(cursor.getColumnIndex(“NU_id”));
bean.Name=cursor.getString(cursor.getColumnIndex(“Name”));
bean.Amount=cursor.getString(cursor.getColumnIndex(“Amount”);
bean.Description=cursor.getString(cursor
.getColumnIndex(“说明”);
Status=cursor.getString(cursor.getColumnIndex(“Status”);
bean.datetime=cursor.getString(cursor
.getColumnIndex(“日期和时间”);
添加(bean);
cursor.moveToNext();
}
}
cursor.close();
退货清单;
}
公共JSONArray cur2Json(光标){
JSONArray resultSet=新的JSONArray();
cursor.moveToFirst();
while(cursor.isAfterLast()==false){
int totalColumn=cursor.getColumnCount();
JSONObject rowObject=新的JSONObject();
对于(int i=0;i
将游标结果作为参数传递,它将返回json

publicJSONArray cur2Json(游标游标){
JSONArray resultSet=新的JSONArray();
cursor.moveToFirst();
while(cursor.isAfterLast()==false){
int totalColumn=cursor.getColumnCount();
JSONObject rowObject=新的JSONObject();
对于(int i=0;i

将光标结果作为参数传递,它将返回json

您可以这样使用并存储到数组列表中,而不是json arrayNirmit中,我很确定OP希望结果为json,但在json数组中,您不能存储可以这样使用的值并存储到数组列表中,而不是json arrayNirmit中,我很确定OP希望结果为json,但在json数组中,您无法存储您想要的值
JSONArray jsonMainArr=RetrievedChoose.getJSONArray(“getchooseinfo”)-您是否尝试重新打印json字符串?是否需要
JSONArray jsonMainArr=RetrievedChoose.getJSONArray(“getchooseinfo”)-您是否尝试重新打印json字符串?
public ArrayList<ViewPeopleBean> GetSpecificPersonTransaction(String Name) {
    ArrayList<ViewPeopleBean> list = new ArrayList<ViewPeopleBean>();
    list.clear();
    SQLiteDatabase database = this.getWritableDatabase();
    String selectQuery = ("select * from AddNewPerson where Name ='" + Name + "'");
    Cursor cursor = database.rawQuery(selectQuery, null);
    ViewPeopleBean bean;
    if (cursor.moveToFirst()) {

        while (cursor.isAfterLast() == false) {
            bean = new ViewPeopleBean();
            bean.id = cursor.getString(cursor.getColumnIndex("NU_id"));
            bean.Name = cursor.getString(cursor.getColumnIndex("Name"));
            bean.Amount = cursor.getString(cursor.getColumnIndex("Amount"));
            bean.Description = cursor.getString(cursor
                    .getColumnIndex("Description"));
            bean.Status = cursor.getString(cursor.getColumnIndex("Status"));

            bean.datetime = cursor.getString(cursor
                    .getColumnIndex("DateandTime"));
            list.add(bean);
            cursor.moveToNext();
        }
    }
    cursor.close();
    return list;
}
    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;

    }