Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    68

    Eliminare dei caratteri da un file di testo

    Salve a tutti, oggi ho un quesito apparentemente semplice ma non riesco a fare niente.
    Ho un file di testo in C:\testo.json e devo togliere tutti i simboli "-" (il meno per capirci), potete darmi una mano?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Eliminare dei caratteri da un file di testo

    Originariamente inviato da Maxton
    Salve a tutti, oggi ho un quesito apparentemente semplice ma non riesco a fare niente.
    Ho un file di testo in C:\testo.json e devo togliere tutti i simboli "-" (il meno per capirci), potete darmi una mano?
    Scusa la domanda ma siccome è un json ... perché vuoi farlo?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    68
    perchè certi nomi di oggetti contengono questo carattere e con le librerie gson ho dei problemi a leggere il file, ma tanto non mi cambia il contenuto

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Maxton
    perchè certi nomi di oggetti contengono questo carattere e con le librerie gson ho dei problemi a leggere il file, ma tanto non mi cambia il contenuto
    Se le proprietà nel json hanno nomi che sono illegali in Java ... allora devi usare la annotazione @SerializedName di Gson.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    68
    cioè? scusa ma non sono molto esperto e le annotazioni non le conosco

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Maxton
    cioè? scusa ma non sono molto esperto e le annotazioni non le conosco
    codice:
    {
        "un-numero": 123,
        "una-stringa": "Hello"
    }
    In Java un-numero non è un identificatore valido, quindi non può essere usato come nome di campo, variabile, ecc...

    Ma con Gson puoi annotare i campi della classe che modella quell'oggetto json in modo da far combaciare il nome:

    codice:
    import com.google.gson.annotations.SerializedName;
    
    public class Dati {
        @SerializedName("un-numero")
        private int unNumero;
    	
        @SerializedName("una-stringa")
        private String unaStringa;
    	
        // metodi getUnNumero, setUnNumero, ecc...
    }
    codice:
    Dati dati = gson.fromJson(tuoReader, Dati.class);
    E funziona benissimo.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    68
    però devo sapere a priori il nome dell'oggetto?

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Maxton
    però devo sapere a priori il nome dell'oggetto?
    che vuol dire?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    68
    che nell'annotazione devo sapere già come si chiama l'oggetto

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Maxton
    che nell'annotazione devo sapere già come si chiama l'oggetto
    Se vuoi fare il "mapping" con classi Java ... certo, devi sapere il nome delle proprietà e la struttura generale del json.

    Altrimenti devi fare un mapping parziale o addirittura nessun mapping con classi Java. Se ti ricordi, nell'altra tua discussione (quella del "match" con i 000, ecc...) ti avevo mostrato un mapping "parziale": avevo descritto una classe Dati che corrisponde al object globale del json e poi invece l'oggetto associato a "match" veniva catturato come Map in generale.

    Il caso estremo è se non sai proprio nulla sul json e in tal caso puoi fare:

    Object obj = gson.fromJson(tuoReader, Object.class);

    e tocca poi a te scoprire se quel obj è un Map o un List e cosa contiene, ecc...

    Io non so cosa devi fare di preciso e con quali json devi lavorare ... devi saperlo tu. Devi valutare tu se/quanto mapping con le classi puoi fare o meno. Tutto qui.
    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 © 2025 vBulletin Solutions, Inc. All rights reserved.