Autore Topic: Parsing Json  (Letto 431 volte)

Offline overflow

  • Nuovo arrivato
  • *
  • Post: 12
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei G 330
  • Sistema operativo:
    OS X 10.8.4
Parsing Json
« il: 10 Agosto 2013, 17:48:25 CEST »
0
Dopo aver fatto una richiesta HTTP ad una pagina PHP questa mi restituisce un oggetto json come questo
Codice: [Seleziona]
{"ythsh":"95207c6fbc27ac81a1a0165ac26260bd","pros":"1","finish":"0"}
uso questo codice
Codice (Java): [Seleziona]
JSONArray jArray = new JSONArray(test.toString());
                                for(int i=0;i<jArray.length();i++){
                                        JSONObject jsonData =   jArray.getJSONObject(i);
                                        ythsh = jsonData.getString("ytbhs");
                                    pros = jsonData.getString("pros");
                                    finish=  jsonData.getString("finish");
                                }
ho provato i vari tutorial presenti sul forum e su internet ma non riesco a farne il parsing qualcuno vorrebbe gentilmente aiutarmi  :-( ?
« Ultima modifica: 10 Agosto 2013, 17:57:31 CEST da overflow »

Offline GabMarioPower

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 606
  • Respect: +153
    • Github
    • Google+
    • gabrielemariotti
    • GabMarioPower
    • Mostra profilo
  • Play Store ID:
    GAB+MARIO+DEV
  • Sistema operativo:
    Ubuntu 14.04 , Win 10
Re:Parsing Json
« Risposta #1 il: 10 Agosto 2013, 23:49:38 CEST »
0
Se la risposta è quella è un JSONObject.
Codice (Java): [Seleziona]
JSONObject jsonObject = new JSONObject(jsonString);
ythsh=jsonObject.getString("ythsh");
pros=jsonObject.getString("pros");
finish=jsonObject.getString("finish");

Se invece avessi un array cosi:
Codice (Java): [Seleziona]
{
 "list":
 [
     {"ythsh":"95207c6fbc27ac81a1a0165ac26260bd",
      "pros":"1",
       "finish":"0"},
      ...................
  ]
}

Codice (Java): [Seleziona]
JSONObject jsonObject = new JSONObject(jsonString);
JSONArray jArray = jsonObject.getJSONArray("list");
for (int i = 0; i < jArray.length(); i++) {
                JSONObject element = jArray.getJSONObject(i);
                 ythsh=element.getString("ythsh");
}

Offline mtdv

  • Utente junior
  • **
  • Post: 103
  • Respect: 0
    • Mostra profilo
Re:Parsing Json
« Risposta #2 il: 11 Agosto 2013, 12:36:16 CEST »
0
Devi stare attento alle parentesi
se c'erano le [] era un array
se ci sono le {} è un oggetto
il tuo è un oggetto json e per accedere devi prendere i singoli campi