creating Json from sqlite in Android

空扰寡人 提交于 2019-12-12 14:47:20

问题


i want to have json file from my sqlite and save it in asset.myJson.json. following is my codes,i want to see result in myJson.json. please help me how to import data to 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;

}

回答1:


put this lines in your jsongetResult() function

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

pa.append(resultSet.toString());

this is how i have converted my data in 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();
    }


来源:https://stackoverflow.com/questions/20487809/creating-json-from-sqlite-in-android

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!