Autore Topic: Leggere una Mappa convertita in JSON  (Letto 689 volte)

Offline sickk

  • Nuovo arrivato
  • *
  • Post: 26
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Mac OSX
Leggere una Mappa convertita in JSON
« il: 11 Febbraio 2011, 11:38:20 CET »
0
Salve,
non so se la sezione è quella giusta però ho un problema: io converto la mia hashmap in formato JSON...ora sul mio client come faccio a riottenere la mappa? Precedentemente usavo una List e usavo JSONArray ma ora con la mappa non so come fare ad ottenere i singoli elementi della mappa.

Offline sickk

  • Nuovo arrivato
  • *
  • Post: 26
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Mac OSX
Re:Leggere una Mappa convertita in JSON
« Risposta #1 il: 11 Febbraio 2011, 13:14:11 CET »
0
vorrei aggiungere che la mia mappa è di tipo HashMap<Integer, PointOfInterest> dove PointOfInterest è ovviamente una classe da me creata.

Inoltre il client riesce ad ottenere il dato e la stringa Json è questa:

{"1":{"name":"ajkmHUX7dlGJ","description":"4ISbiunLd2sv6eHa5R0","snippet":"","latitude":41.156982421875,"longitude":12.764890670776367,"id":0}, ........}

Offline sickk

  • Nuovo arrivato
  • *
  • Post: 26
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Mac OSX
Re:Leggere una Mappa convertita in JSON
« Risposta #2 il: 11 Febbraio 2011, 13:46:20 CET »
0
ho trovato un metodo (non so se è un workaround o se è l'unico modo di fare)

Codice (Java): [Seleziona]
                JSONObject jsonObj = null;
               
                try {

                        jsonObj = new JSONObject(result);
       
                                Iterator iterator = jsonObj.keys();
                                Gson gson = new Gson();
                                while(iterator.hasNext()){
                                        String poiID = (String) iterator.next();
                                        String poi = jsonObj.getString(poiID);
                                        POIs.put(Integer.valueOf(poiID), gson.fromJson(poi, SimplePOI.class));
                                }

               
                } catch (JSONException e) {
                        e.printStackTrace();
                }


se qualcuno conosco un modo più elegante....
« Ultima modifica: 11 Febbraio 2011, 17:00:47 CET da Qlimax »

Offline elegos

  • Nuovo arrivato
  • *
  • Post: 44
  • Respect: +7
    • Mostra profilo
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    Giacomo Furlan
  • Sistema operativo:
    Mac OS X
Re:Leggere una Mappa convertita in JSON
« Risposta #3 il: 13 Febbraio 2011, 15:32:55 CET »
0
potresti prima importare il file JSON in una classe-tipo e quindi estrapolare i dati della classe-tipo in una hashmap con un ciclo.