logo

json.dump() in Python

La forma completa di JSON è la notazione oggetto JavaScript. Ciò significa che un file script (eseguibile), composto da testo in un linguaggio di programmazione, viene utilizzato per archiviare e trasferire i dati. Python supporta JSON tramite un pacchetto integrato chiamatojson>. Per utilizzare questa funzionalità, importiamo il pacchetto json nello script Python. Il testo in JSON viene eseguito tramite una stringa tra virgolette che contiene il valore nella mappatura dei valori-chiave all'interno{ }>. È simile al dizionario in Python.

json.dump()

json>module in Python module fornisce un metodo chiamatodump()>che converte gli oggetti Python in oggetti JSON appropriati. È una leggera variante didumps()>metodo.



Differenza tra dump() e dumps()

scarico() discariche()
Il metodo dump() viene utilizzato quando gli oggetti Python devono essere archiviati in un file. Il dumps() viene utilizzato quando è necessario che gli oggetti siano in formato stringa e viene utilizzato per l'analisi, la stampa, ecc.
Il dump() necessita del nome del file json in cui l'output deve essere archiviato come argomento. Il dumps() non richiede che venga passato alcun nome di file di questo tipo.
Questo metodo scrive nella memoria e quindi il comando per scrivere su disco viene eseguito separatamente Questo metodo scrive direttamente nel file json
Metodo più veloce 2 volte più lento

dump() e i suoi argomenti

Sintassi: json.dump(d, skipkeys=False, verify_ascii=True, check_circular=True,allow_nan=True, cls=Nessuno, indent=Nessuno, separatori=Nessuno)

parametri:

  • trattino: Migliora la leggibilità del file json. I possibili valori che possono essere passati a questo parametro sono semplicemente virgolette doppie(''>), qualsiasi valore intero. Le virgolette doppie semplici fanno apparire ogni coppia chiave-valore in una nuova riga.

    Esempio:








    import> json> > # python object(dictionary) to be dumped> dict1>=>{> >'emp1'>: {> >'name'>:>'Lisa'>,> >'designation'>:>'programmer'>,> >'age'>:>'34'>,> >'salary'>:>'54000'> >},> >'emp2'>: {> >'name'>:>'Elis'>,> >'designation'>:>'Trainee'>,> >'age'>:>'24'>,> >'salary'>:>'40000'> >},> }> > # the json file where the output must be stored> out_file>=> open>(>'myfile.json'>,>'w'>)> > json.dump(dict1, out_file, indent>=> 6>)> > out_file.close()>

    >

    >

    Produzione:

    indent_quotes

    forma normale di Greibach
  • salta i tasti: Se la chiave non è dei tipi standard consentiti come int, float, string, None o bool, verrà generato un errore durante il dump. Per evitare ciò, se questo parametro è impostato su VERO .

    Esempio:




    import> json> > # python object(dictionary) to be dumped> dict1>=>{> >(>'addresss'>,>'street'>):>'Brigade road'>,> }> > # the json file where the output must be stored> out_file>=> open>(>'myfile.json'>,>'w'>)> > json.dump(dict1, out_file, indent>=> 6>)> > out_file.close()>

    >

    >

    Produzione:

    Se skipkeys non è impostato su true, verrà generato il seguente errore:

    Python json

  • separatore: Questo parametro assume uno o due valori. Il primo valore specifica il simbolo che separa una coppia chiave-valore da un'altra. Il successivo specifica il simbolo che separa il valore dalla sua chiave.
  • sort_keys: Questo parametro assume un valore booleano. Se è impostato su True, le chiavi vengono impostate in ordine crescente altrimenti appaiono come nell'oggetto Python
  • garantire_ascii: Anche questo parametro accetta solo valori booleani. Se non è impostato su true, i caratteri non ASCII vengono inseriti nel file di output così come sono. Per impostazione predefinita il valore è VERO .

    Vedi i due codici qui sotto per ottenere la differenza.

    Esempio 1:




    # dictionary to be dumped> d>=>{>'lang'>:>'??? ????'>}> > with>open>(>'myfile.json'>,>'w'>, encoding>=>'utf8'>) as json_file:> >json.dump(d, json_file, ensure_ascii>=> False>)>

    >

    >

    Produzione:

    python-json

    Esempio 2: Se è impostato su True, il contenuto del file json sarà:




    import> json> > > # dictionary to be dumped> d>=>{>'lang'>:>'??? ????'>}> > with>open>(>'myfile.json'>,>'w'>, encoding>=>'utf8'>) as json_file:> >json.dump(d, json_file, ensure_ascii>=> True>)>

    tostring java
    >

    >

    Produzione:

    python-json-2

  • consent_in: Aiuta a serializzare l'intervallo di valori float.

    Esempio 1:


    anche modello



    import> json> > > # dictionary to be dumped> d>=>{> >'a'>:>1>,> >'x'>:>float>(>'nan'>)> }> > with>open>(>'myfile.json'>,>'w'>, encoding>=>'utf8'>) as json_file:> >json.dump(d, json_file, allow_nan>=>False>)>

    >

    >

    Produzione:

    python-json

    Esempio 2: Se è impostato su True, l'errore non verrà generato. Il contenuto del file json sarà:




    import> json> > > # dictionary to be dumped> d>=>{> >'a'>:>1>,> >'x'>:>float>(>'nan'>)> }> > with>open>(>'myfile.json'>,>'w'>, encoding>=>'utf8'>) as json_file:> >json.dump(d, json_file, allow_nan>=>True>)>

    >

    >

    Produzione:

    python-json