Visualizzazione dei risultati da 1 a 3 su 3

Discussione: JSONArray toString()

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da lords91 Visualizza il messaggio
    codice:
                obj.put("data ed ora", r.getDataOra());
    Quindi, scusa la domanda, il problema è su questa informazione qui?
    Se come immagino getDataOra() restituisce un Calendar, effettivamente il suo toString() è parecchio noioso e prolisso.

    Prima alternativa: verifica se la API che stai usando per JSON è in grado di registrare un "convertitore" che si può applicare al tipo Calendar. O magari se ha una opzione per una specie di "pretty-print" delle date.

    EDIT: se appunto come penso, stai usando la api org.json, allora no, non c'è sicuramente questa feature. Questa API è davvero basilare e terra-terra per trattare JSON.

    Seconda alternativa: nessuno ti vieta, credo, di formattare tu la data e assegnarla alla proprietà con put. Questo vale sempre.

    Quote Originariamente inviata da lords91 Visualizza il messaggio
    return new JsonRepresentation(ja.toString());
    Stai usando il framework Restlet? Lo conosco solo di nome ma ho cercato JsonRepresentation e sono incappato nel suo javadoc.

    Da quanto vedo, JsonRepresentation ha anche il costruttore

    public JsonRepresentation(JSONArray jsonArray)

    Dove JSONArray è org.json.JSONArray. Se il tuo JSONArray è questo ... non hai bisogno di fare toString().
    Ultima modifica di andbin; 03-12-2014 a 19:13
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    22
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Quindi, scusa la domanda, il problema è su questa informazione qui?
    Se come immagino getDataOra() restituisce un Calendar, effettivamente il suo toString() è parecchio noioso e prolisso.

    Prima alternativa: verifica se la API che stai usando per JSON è in grado di registrare un "convertitore" che si può applicare al tipo Calendar. O magari se ha una opzione per una specie di "pretty-print" delle date.

    EDIT: se appunto come penso, stai usando la api org.json, allora no, non c'è sicuramente questa feature. Questa API è davvero basilare e terra-terra per trattare JSON.

    Seconda alternativa: nessuno ti vieta, credo, di formattare tu la data e assegnarla alla proprietà con put. Questo vale sempre.


    Stai usando il framework Restlet? Lo conosco solo di nome ma ho cercato JsonRepresentation e sono incappato nel suo javadoc.

    Da quanto vedo, JsonRepresentation ha anche il costruttore

    public JsonRepresentation(JSONArray jsonArray)

    Dove JSONArray è org.json.JSONArray. Se il tuo JSONArray è questo ... non hai bisogno di fare toString().
    Esattamente hai centrato il punto ! Sto sviluppando un'applicazione client server per la mia tesi di laurea ma sono tecnologie che non ho mai visto ed il mio relatore non è così tanto paziente da indicarmi cosa utilizzare.
    E' stato lui infatti a dirmi di scaricare org.json , cercando di capire come funzionasse l'override del toString infatti ho trovato tante altre api json che integrano cose tipo formattatore di date.

    L'avevo pensato di passargli la stringa e non la data ma poi riuscirei lato client a fare delle query e farmi restituire una lista con data compresa tra due valori ?

    Comunque si sto usando restlet l'avevo notato che era inutile mettere ja.toString() ma l'ho rimasto per far notare al mio professore che il codice di esempio che mi aveva mandato lui era ormai deprecato.
    Secondo lui infatti JSONArray ha un metodo add e non put ed un metodo toJSONString() che invece non c'è.

    Le strade da prendere a mio parere sono due
    1) Cambiare api json con una più completa
    2) Passargli direttamente la stringa.

    Ti ringrazio per l'esauriente risposta

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.