Cómo puedo tirar de la matriz de cadena de este objeto json?

Estoy tratando de obtener una lista de números disponibles de la siguiente objeto json, mediante la clase de org.json

    {
        "response":true,
        "state":1,
        "data":
        {
            "CALLERID":"81101099",
            "numbers":
                [
                       "21344111","21772917",
                       "28511113","29274472",
                       "29843999","29845591",
                       "30870001","30870089",
                       "30870090","30870091"
                ]
        }
    }

Mis primeros pasos fueron, después de recibir el objeto json desde el servicio web:

jsonObj = new JSONObject(response);
jsonData = jsonObj.optJSONObject("data");

Ahora, ¿cómo puedo guardar la matriz de cadena de números?

OriginalEl autor CodePrimate | 2012-02-21

4 respuestas

  1. 32

    uso:

    jsonObj = new JSONObject(response);
    jsonData = jsonObj.optJSONObject("data");
    JSONArray arrJson = jsonData.getJSONArray("numbers");
    String[] arr = new String[arrJson.length()];
    for(int i = 0; i < arrJson.length(); i++)
        arr[i] = arrJson.getString(i);
    +1 por ejemplo exacto. Comer con cuchara 🙂
    Excepto por el hecho de que no hay ningún método en JSONArray nombre getLength(did you mean length() ? ) este fue genial – gracias 🙂
    He editado la respuesta.
    Si estás especificando las cadenas, parece que usted tiene que convertir el valor de arrJson.get(i) a la Cadena.

    OriginalEl autor

  2. 1

    necesita utilizar JSONArray para tirar de los datos en una matriz

    JSONObject jObj= new JSONObject(your_json_response);
    JSONArray array = jObj.getJSONArray("data");

    OriginalEl autor

  3. 0

    Suponiendo que usted está tratando de conseguir en un bloque de javascript, Intentar algo como esto

    var arrNumber = jsonData.los números;

    OriginalEl autor

  4. 0

    Mi código es para conseguir “datos”:

    public void jsonParserArray(String json) {
    
            String [] resultsNumbers = new String[100];
    
            try {
                JSONObject jsonObjectGetData = new JSONObject(json);
                JSONObject jsonObjectGetNumbers = jsonObjectGetData.optJSONObject("results");
                JSONArray jsonArray = jsonObjectGetNumbers.getJSONArray("numbers");
                for (int i = 0; i < jsonArray.length(); i++) {
                    resultsNumbers[i] = jsonArray.getString(i);
                }
            } catch (JSONException e) {
                e.printStackTrace();
                Log.e(LOG_TAG, e.toString());
            }
        }

    OriginalEl autor

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *