Soy nuevo en Android y quiero obtener el formato json como se muestra a continuación

aquí hay imagen de lo que quiero salida json

Aqui esta el codigo

 public JSONObject getjsondataofcart(){
    JSONObject modelList = new JSONObject();
    JSONArray myara   = new JSONArray();
    String query = "select * from "+ cart_table;
    SQLiteDatabase db = this.getWritableDatabase();
    Cursor cursor = db.rawQuery(query,null);
    JSONObject data = new JSONObject();
    try {

      if (cursor.moveToFirst()) {
        do {

          data.put("id", cursor.getInt(1));
          data.put("qty", cursor.getInt(2));
          data.put("amount", cursor.getInt(7));
          data.put("tax_id","0");
          data.put("sub_total", cursor.getInt(6));
          myara.put(data);
        } while (cursor.moveToNext());

        modelList.put("product_detail",myara);
      }
    }
    catch (JSONException e)
    {
    }

    return modelList;
  }

Salí puesto como a continuación:

esto es lo que tengo

Cualquier ayuda será apreciada. gracias de antemano

1
user7824858 6 abr. 2017 a las 09:33

2 respuestas

La mejor respuesta
JSONObject data = new JSONObject(); 

Muévase por encima de la línea dentro del ciclo do-while como abajo

try {

  if (cursor.moveToFirst()) {
    do {
      JSONObject data = new JSONObject();
      data.put("id", cursor.getInt(1));
      data.put("qty", cursor.getInt(2));
      data.put("amount", cursor.getInt(7));
      data.put("tax_id","0");
      data.put("sub_total", cursor.getInt(6));
      myara.put(data);
    } while (cursor.moveToNext());

    modelList.put("product_detail",myara);
  }
}
catch (JSONException e)
{
}
0
Priyank Patel 6 abr. 2017 a las 06:42

Pruebe con el siguiente código:

 public JSONObject getjsondataofcart(){
        JSONObject modelList = new JSONObject();
        JSONArray myara   = new JSONArray();
        String query = "select * from "+ cart_table;
        SQLiteDatabase db = this.getWritableDatabase();
        Cursor cursor = db.rawQuery(query,null);

        try {

            if (cursor.moveToFirst()) {
                do {
                    //Add this line here
                    JSONObject data = new JSONObject();
                    data.put("id", cursor.getInt(1));
                    data.put("qty", cursor.getInt(2));
                    data.put("amount", cursor.getInt(7));
                    data.put("tax_id","0");
                    data.put("sub_total", cursor.getInt(6));
                    myara.put(data);
                } while (cursor.moveToNext());

                modelList.put("product_detail",myara);
            }
        }
        catch (JSONException e)
        {
        }

        return modelList;
    }
0
Chetan Joshi 6 abr. 2017 a las 06:38