logo

json.dump() in Python

De volledige vorm van JSON is JavaScript Object Notation. Het betekent dat een scriptbestand (uitvoerbaar bestand) dat is gemaakt van tekst in een programmeertaal, wordt gebruikt om de gegevens op te slaan en over te dragen. Python ondersteunt JSON via een ingebouwd pakket genaamdjson>. Om deze functie te gebruiken, importeren we het json-pakket in Python-script. De tekst in JSON wordt gedaan via een tekenreeks tussen aanhalingstekens, die de waarde bevat in de sleutelwaarde-toewijzing binnenin{ }>. Het is vergelijkbaar met het woordenboek in Python.

json.dump()

json>module in de Python-module biedt een methode genaamddump()>die de Python-objecten omzet in geschikte json-objecten. Het is een lichte variant vandumps()>methode.



Verschil tussen dump() en dumps()

dumpen() stortplaatsen()
De dump() methode wordt gebruikt wanneer de Python-objecten in een bestand moeten worden opgeslagen. De dumps() wordt gebruikt wanneer de objecten een string-indeling moeten hebben en wordt gebruikt voor parseren, afdrukken, enz.
De dump() heeft de json-bestandsnaam nodig waarin de uitvoer als argument moet worden opgeslagen. De dumps() vereisen niet dat een dergelijke bestandsnaam wordt doorgegeven.
Deze methode schrijft in het geheugen en vervolgens wordt het commando voor het schrijven naar schijf afzonderlijk uitgevoerd Deze methode schrijft rechtstreeks naar het json-bestand
Snellere methode 2 keer langzamer

dump() en zijn argumenten

Syntaxis: json.dump(d, skipkeys=False, sure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None)

Parameters:

  • streepje: Het verbetert de leesbaarheid van het json-bestand. De mogelijke waarden die aan deze parameter kunnen worden doorgegeven, zijn eenvoudigweg dubbele aanhalingstekens(''>), eventuele gehele waarden. Eenvoudige dubbele aanhalingstekens zorgen ervoor dat elk sleutel-waardepaar op een nieuwe regel verschijnt.

    Voorbeeld:








    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()>

    >

    cache npm wissen
    >

    Uitgang:

    streepje_aanhalingstekens

  • toetsen overslaan: Als de sleutel niet van het standaard toegestane type is, zoals int, float, string, None of bool, wordt er een fout gegenereerd tijdens het dumpen ervan. Om dit te voorkomen als deze parameter is ingesteld op WAAR .

    Voorbeeld:




    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()>

    >

    iteratie van de kaart in Java
    >

    Uitgang:

    Als Skipkeys niet op True is ingesteld, wordt de volgende fout gegenereerd:

    python json

  • scheidingsteken: Deze parameter neemt één of twee waarden in beslag. De eerste waarde specificeert het symbool dat het ene sleutel-waardepaar van het andere scheidt. De volgende specificeert het symbool dat de waarde scheidt van de sleutel.
  • sorteersleutels: Deze parameter heeft een Booleaanse waarde. Als deze is ingesteld op True, worden de sleutels in oplopende volgorde ingesteld. Anders verschijnen ze zoals in het Python-object
  • verzekeren_ascii: Deze parameter accepteert ook alleen Booleaanse waarden. Als deze niet op true is ingesteld, worden de niet-ASCII-tekens ongewijzigd in het uitvoerbestand gedumpt. Standaard is de waarde WAAR .

    Zie de twee onderstaande codes om het verschil te zien.

    Voorbeeld 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>)>

    >

    >

    Uitgang:

    python-json

    Voorbeeld 2: Als dit is ingesteld op True, is de inhoud van het json-bestand:




    opgeslagen programmabesturing
    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>)>

    char naar Java met gehele getallen
    >

    >

    Uitgang:

    python-json-2

  • toelaten in: Het helpt bij het serialiseren van het bereik van float-waarden.

    Voorbeeld 1:




    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>)>

    >

    >

    Uitgang:

    python-json

    Voorbeeld 2: Als deze is ingesteld op True, wordt de fout niet gegenereerd. De inhoud van het json-bestand is:




    Java-serverpagina's

    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>)>

    >

    >

    Uitgang:

    python-json