json.dump() i Python

json.dump() i Python

Den fullständiga formen av JSON är JavaScript Object Notation. Det betyder att en skriptfil (körbar) som är gjord av text i ett programmeringsspråk, används för att lagra och överföra data. Python stöder JSON genom ett inbyggt paket som heter json> . För att använda den här funktionen importerar vi json-paketet i Python-skriptet. Texten i JSON görs genom citatsträng som innehåller värdet i nyckel-värde-mappning inom { }> . Det liknar ordboken i Python.

json.dump()

json> modul i Python-modulen tillhandahåller en metod som kallas dump()> som konverterar Python-objekten till lämpliga json-objekt. Det är en liten variant av dumps()> metod.

Skillnaden mellan dump() och dumps()

dumpa() dumpar()
Metoden dump() används när Python-objekten måste lagras i en fil. Dumps() används när objekten måste vara i strängformat och används för att analysera, skriva ut, etc, .
Dump() behöver filnamnet json där utdata måste lagras som ett argument. Dumps() kräver inte att något sådant filnamn skickas.
Denna metod skriver i minnet och sedan exekveras kommandot för skrivning till disk separat Denna metod skriver direkt till json-filen
Snabbare metod 2 gånger långsammare

dump() och dess argument

Syntax: json.dump(d, skipkeys=False, sure_ascii=True, check_circular=True, allow_nan=True, cls=Ingen, indent=Inga, separatorer=Inga)

Parametrar:

  • indrag: Det förbättrar läsbarheten för json-filen. De möjliga värdena som kan skickas till denna parameter är helt enkelt dubbla citattecken( ''> ), alla heltalsvärden. Enkla citattecken gör att varje nyckel-värdepar visas på en ny rad.

    Exempel:




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

    Produktion:

    indent_quotes

  • hoppa över tangenter: Om nyckeln inte är av standardtillåten typ som int, float, string, None eller bool, kommer ett fel att genereras när de dumpas. För att undvika det om denna parameter är inställd på Sann .

    Exempel:




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

    Produktion:

    Om skipkeys inte är inställt på sant, kommer följande fel att genereras:

    python json

  • separator: Denna parameter tar upp antingen ett eller två värden. Det första värdet anger symbolen som skiljer ett nyckel-värdepar från ett annat. Nästa anger symbolen som skiljer värdet från dess nyckel.
  • sorteringsnycklar: Denna parameter tar booleskt värde. Om den är satt till True, ställs nycklarna i stigande ordning annars, de visas som i Python-objektet
  • sure_ascii: Denna parameter tar också bara booleska värden. Om den inte är inställd på sant dumpas icke-ASCII-tecken i utdatafilen som den är. Som standard är värdet Sann .

    Se de två koderna nedan för att se skillnaden.

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

    Produktion:

    python-json

    Exempel 2: Om den är inställd på True kommer innehållet i json-filen att vara:




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

    Produktion:

    python-json-2

  • tillåt_in: Det hjälper till att serialisera intervallet för flytvärden.

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

    Produktion:

    python-json

    Exempel 2: Om den är inställd på True kommer felet inte att genereras. Innehållet i json-filen kommer att vara:




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

    Produktion:

    python-json