在Android中从sqlite创建Json

sam*_*ira 3 android json android-layout android-listview

我想从我的sqlite获取json文件并将其保存在asset.myJson.json中.以下是我的代码,我想在myJson.json中看到结果.请帮我如何将数据导入myJson.json.

private JSONArray jsongetResult(){
    SQLiteDatabase database = openOrCreateDatabase("ORCL", MODE_PRIVATE, null);
    Cursor cursor = database.rawQuery("SELECT id,title,qty,price FROM CART;", 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("TAG_NAME", cursor.getString(i) );
                        rowObject.put(cursor.getColumnName(i) ,  cursor.getString(i) );
                    }
                    else
                    {
                        rowObject.put( cursor.getColumnName(i) ,  "" );
                    }
                }
                catch( Exception e )
                {
                    Log.d("TAG_NAME", e.getMessage()  );
                }
            }

        }

        resultSet.put(rowObject);

    }
    cursor.close();
    Log.d("TAG_NAME", resultSet.toString() );
    return resultSet;

}
Run Code Online (Sandbox Code Playgroud)

Vis*_*kal 9

把这些行放在你的jsongetResult()函数中

File f = new File("your path"); FileOutputStream fos = new FileOutputStream(f,true); PrintStream ps = new PrintStream(fos);

pa.append(resultSet.toString());

这就是我在json中转换数据的方式

public String getAllDataAndGenerateJSON() throws JSONException, FileNotFoundException {

    String query = "select " + NAME + "," + ADDRESS + "," + CITY + ","
            + CONTACTNO + "," + AVAILABLE + "," + CATEGORY
            + " from contact_list";
    Cursor c = database.rawQuery(query, null);
    c.moveToFirst();
    JSONObject Root = new JSONObject();
    JSONArray ContactArray = new JSONArray();
    File f = new File(Environment.getExternalStorageDirectory()
            + "/ContactDetail.txt");
    FileOutputStream fos = new FileOutputStream(f,true);
    PrintStream ps = new PrintStream(fos);


    int i = 0;
    while (!c.isAfterLast()) {


            JSONObject contact = new JSONObject();
            try {
                contact.put("Name", c.getString(c.getColumnIndex(NAME)));
                contact.put("Address", c.getString(c.getColumnIndex(ADDRESS)));
                contact.put("City", c.getString(c.getColumnIndex(CITY)));
                contact.put("ContactNumber", c.getString(c.getColumnIndex(CONTACTNO)));
                contact.put("Available", c.getString(c.getColumnIndex(AVAILABLE)));
                contact.put("Category", c.getString(c.getColumnIndex(CATEGORY)));

                c.moveToNext();

                ContactArray.put(i, contact);
                i++;

            } catch (JSONException e) {

                e.printStackTrace();
            }



        }
        Root.put("CONTACTDETAILS", ContactArray);
        ps.append(Root.toString());
        return Root.toString();
    }
Run Code Online (Sandbox Code Playgroud)