Search code examples
androidarraysjsonparse-platform

Android how to: get JSONObject and JSONArray


I can't get the JSONArray and JSONObjects from my json file.

This is how I input my array and objects.

query1.getFirstInBackground(new GetCallback<ParseObject>() {
                @Override
                public void done(ParseObject object, ParseException e) {
                    if (e == null) {
                        final JSONObject myObject = new JSONObject();
                        try {
                            myObject.put("Preço", gymClassPrice.getText().toString());
                            myObject.put("Aula", gymClass.getText().toString());
                            myObject.put("Horario", gymClassSchedule.getText().toString());
                        } catch (JSONException e1) {
                            e1.printStackTrace();
                        }
                        myArray.put(myObject);
                        gyms.put("Classes", myArray);
                        gyms.saveInBackground();
                    } else {

                        gyms.put("Name", gymName.getText().toString());
                        gyms.put("Place", gymPlace.getText().toString());
                        gyms.put("Adress", gymLocation.getText().toString());
                        gyms.put("Schedule", gymSchedule.getText().toString());
                        gyms.put("Description", gymDescription.getText().toString());

                        try {
                            myObject.put("Preço", gymClassPrice.getText().toString());
                            myObject.put("Aula", gymClass.getText().toString());
                            myObject.put("Horario", gymClassSchedule.getText().toString());
                        } catch (JSONException e1) {
                            e1.printStackTrace();
                        }
                        myArray.put(myObject);
                        gyms.put("Classes", myArray);
                        gyms.saveInBackground();

                    }
                }

Now I don't know how to get those values. Can someone help me please?

This is my actual array in the json file:

 "Classes": [
  {
    "Horario": "gababa",
    "Preço": "sgaffa",
    "Aula": "vsagav"
  },
  {
    "Horario": "gababa566",
    "Preço": "sgaffa566",
    "Aula": "vsagav345"
  }
],

Solution

  • try this code

    first you need to extract json array classes then loop through jsonArray to get JSONObject after you get JSONObject exract requied values

    try {
                JSONArray array = object.getJSONArray("Classes");
                for (int i = 0; i <array.length() ; i++) {
    
                    try {
                        JSONObject jsonObject = array.getJSONObject(i);
                        // to get value of Horario
    
                        String Horario = jsonObject.getString("Horario");
    
                        // to get value of Preço
    
                        String Preço = jsonObject.getString("Preço");
    
                        // to get value of Aula
    
                        String Aula = jsonObject.getString("Aula");
                    }catch (JSONException e){
    
                    }
    
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }
    

    hope this helps