Android:读取sqlite字段并转为json

开局一张图
在这里插入图片描述

都知道我是一个不按常理出牌的同学
放着好好的sqlite语句不用,非得转成json,HHHH

读取sqlite表并转换为json

 private JSONArray getResults(String userTable)
    {

        SQLiteDatabase db = helper.getWritableDatabase();
//or you can use `context.getDatabasePath("my_db_test.db")`
        String searchQuery = "SELECT  * FROM"+userTable ;
        Cursor cursor = db.rawQuery(searchQuery, null );
        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
                    {
                        if( cursor.getString(i) != null )
                        {
                            Log.d("userTable", cursor.getString(i) );
                            rowObject.put(cursor.getColumnName(i) ,  cursor.getString(i) );
                        }
                        else
                        {
                            rowObject.put( cursor.getColumnName(i) ,  "" );
                        }
                    }
                    catch( Exception e )
                    {
                        Log.d("userTable", e.getMessage()  );
                    }
                }
            }
            resultSet.add(rowObject);
            cursor.moveToNext();
        }
        cursor.close();
        return resultSet;
    }

调用

 Log.d("--------1------",  JSONArray.toJSONString(getResults("userTable")));

猜你喜欢

转载自blog.csdn.net/title71/article/details/113136739