Extraer datos de la matriz JSON

Sé que es una matriz, pero soy completamente nuevo en JSON y necesito ayuda para comprender cómo está estructurado, aquí está mi intento de extraer datos:

String JSonString = readURL("//my URL is here");
JSONArray s = JSONArray.fromObject(JSonString);
JSONObject Data =(JSONObject)(s.getJSONObject(0));
System.out.println(Data.get("name"));

Mis datos JSON que tengo son así:

 {
"sports": [
    {
        "name": "basketball",
        "id": 40,
        "uid": "s:40",
        "leagues": [
            {
                "name": "National Basketball Assoc.",
                "abbreviation": "nba",
                "id": 46,
                "uid": "s:40~l:46",
                "groupId": 7,
                "shortName": "NBA",
                "athletes": []
            }
        ]
    }
],
"resultsOffset": 10,
"resultsLimit": 10,
"resultsCount": 1,
"timestamp": "2013-11-18T03:15:43Z",
"status": "success"
}

Realmente no tengo una buena comprensión de estas cosas, por lo que se agradece toda la ayuda.

Respuesta 1

Aquí está la idea:

JSONObject root = new JSONObject(yourJsonString);
JSONArray sportsArray = root.getJSONArray("sport");
// now get the first element:
JSONObject firstSport = sportsArray.getJSONObject(0);
// and so on
String name = firstSport.getString("name"); // basketball
int id = firstSport.getInt("id"); // 40
JSONArray leaguesArray = firstSport.getJSONArray("leagues");

// and so on, you can process leaguesArrays similarily

Debería funcionar (siéntase libre de quejarse por errores de compilación si hay alguno)

Respuesta: 2

Sus datos JSON son un objeto (comienza con una llave). En la siguiente capa interna, hay una sola matriz (en la clave "deportes"):

String jsonString = readURL("//my URL is here");
JSONObject result = JSONObject(jsonString);
JSONArray sports = result.getJSONArray("sports");
JSONObject sport = sport.getJSONObject(0);
System.out.println(sport.getString("name"));

Podría haber usado otra biblioteca JSON que tú.

Respuesta: 3

JSON significa notación de objetos JavaScript.

Los objetos en javascripts son solo contenedores y se pueden representar mediante pares clave-valor. A continuación encontrará las anotaciones para comprender acerca de json.

Representar objetos en json: Ej. Estudiante

{"name" : "Robin", "rollnumber" : "1"}

Representar matriz en json: por ejemplo, matriz de estudiantes

[{"name" : "Robin", "rollnumber" : "1"}, {"name" : "Mark", "rollnumber" : "2"}]

Puede comprender más sobre JSON a partir de diagramas en este enlace http://www.json.org/fatfree.html

Hay varias formas disponibles para convertir JSON a javaobject y javaobject a JSON: una de ellas es http://wiki.fasterxml.com/JacksonInFiveMinutes

Respuesta: 4

Necesito un flujo de trabajo como el siguiente: // cargar xyz.com en la ventana del navegador // el navegador está activo, lo que significa que los usuarios pueden interactuar con él browser.load ("http://www.google.com"); // devuelve el HTML de ...

Android Studio tiene soporte para macros, que les gusta llamar plantillas en vivo, lo cual es bueno, pero nadie en ningún lugar se molesta en explicar cómo usarlas, y menos aún en Android Studio. Es obvio que el "...

Domino bien el patrón de visitante. Sin embargo, me pregunto algo. La motivación más importante para usar el Patrón de visitante es agregar lógica que involucre modelos de datos específicos en el lado del cliente sin necesidad de verificar ...

Me gustaría descomprimir recursivamente algún archivo .zip. Uso java.util.zip y no puedo usar otra biblioteca. Mi código: público estático descomprimir vacío (archivo de cadena) {try {File fSourceZip = new ...