Visualizzazione dei risultati da 1 a 10 su 21

Discussione: From hashmap to Json

Hybrid View

  1. #1
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Senza sapere di più è un po' difficile dirlo. Gli oggetti nella lista di che tipo sono? Di una tua classe? E come è fatta?

    Gson mappa i campi (attenzione: NON le proprietà secondo le specifiche JavaBeans) degli oggetti. Quindi se nel ArrayList tu avessi es. un oggetto di classe Persona che ha i campi (anche marcati private) nome e cognome: avresti un oggetto JSON

    { "nome": "......", "cognome": "........" }
    Grazie mille per la risposta.
    Allora HashMap<Categoria, ArrayList<Categoria>>
    L'arraylist ripeto viene parsato correttamente, il problema ce l'ho sul parsare la key dell'hashmap quindi gli oggetti Categoria.. Sono classi che ho creato io. Scusami forse non mi ero spiegato bene... è la key dell hashmap che mi esce Categoria@1244ab. Cosa hai bisogno di sapere?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Cyber-X91! Visualizza il messaggio
    è la key dell hashmap che mi esce Categoria@1244ab. Cosa hai bisogno di sapere?
    Come è fatta la classe.

    Comunque ti ripeto: Gson mappa i campi.

    EDIT: già mi è venuto in mente adesso rileggendo che hai usato

    HashMap<Categoria, ArrayList<Categoria>>

    In JSON una "chiave" all'interno di un oggetto può essere solo una stringa. Quindi Gson sicuramente invoca toString() sui Categoria usati come chiavi del HashMap!
    Ultima modifica di andbin; 09-11-2015 a 22:51
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Come è fatta la classe.

    Comunque ti ripeto: Gson mappa i campi.

    EDIT: già mi è venuto in mente adesso rileggendo che hai usato

    HashMap<Categoria, ArrayList<Categoria>>

    In JSON una "chiave" all'interno di un oggetto può essere solo una stringa. Quindi Gson sicuramente invoca toString() sui Categoria usati come chiavi del HashMap!
    Cosa si intente per "mappa i campi"?
    Ah ok e quindi non ce un modo magari con un altra libreria per usare Categoria anziche stringa e parsarla?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Cyber-X91! Visualizza il messaggio
    Cosa si intente per "mappa i campi"?
    In generale, per mappare gli oggetti in JSON Gson si basa (per suo esplicito design) solo sui nomi dei campi negli oggetti. NON sulle proprietà deducibili dai getter/setter. L'esempio l'ho fatto prima.

    Quote Originariamente inviata da Cyber-X91! Visualizza il messaggio
    Ah ok e quindi non ce un modo magari con un altra libreria per usare Categoria anziche stringa e parsarla?
    Ma forse non hai ancora capito: in JSON una chiave è SOLO una stringa. Il problema l'ho evidenziato in rosso prima. Le chiavi nel HashMap sono oggetti Categoria. Ma ti ripeto che in JSON può essere solo una stringa.

    Quindi la questione è: a chi/a cosa serve il JSON generato?

    P.S. continui a parlare di "parsare" ma in questo contesto non vuol dire nulla.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.