Plná forma JSON je JavaScript Object Notation. To znamená, že na ukladanie a prenos údajov sa používa skriptový (spustiteľný) súbor, ktorý je vytvorený z textu v programovacom jazyku. Python podporuje JSON prostredníctvom vstavaného balíka tzvjson>. Ak chcete použiť túto funkciu, importujeme balík json do skriptu Python. Text v JSON sa vykonáva prostredníctvom reťazca v úvodzovkách, ktorý obsahuje hodnotu v mapovaní párov kľúč-hodnota{ }>. Je to podobné ako slovník v Pythone.
json.dump()
json>modul v module Python poskytuje metódu tzvdump()>ktorý konvertuje objekty Pythonu na vhodné objekty json. Ide o mierny variantdumps()>metóda.
Rozdiel medzi dump() a dumps()
| vysypať () | skládky() |
|---|---|
| Metóda dump() sa používa, keď majú byť objekty Pythonu uložené v súbore. | Dumps() sa používa, keď sa vyžaduje, aby boli objekty vo formáte reťazca, a používa sa na analýzu, tlač atď. |
| Dump() potrebuje názov súboru json, v ktorom musí byť výstup uložený ako argument. | Dumps() nevyžaduje odovzdanie žiadneho takého názvu súboru. |
| Táto metóda zapíše do pamäte a potom sa samostatne vykoná príkaz pre zápis na disk | Táto metóda zapisuje priamo do súboru json |
| Rýchlejšia metóda | 2 krát pomalšie |
dump() a jeho argumenty
Syntax: json.dump(d, skipkeys=False, secure_ascii=True, check_circular=True, allow_nan=True, cls=Žiadne, indent=Žiadne, separátory=Žiadne)
Parametre:
- zarážka: Zlepšuje čitateľnosť súboru json. Možné hodnoty, ktoré možno odovzdať tomuto parametru, sú jednoducho dvojité úvodzovky (
''>), akékoľvek celočíselné hodnoty. Jednoduché dvojité úvodzovky spôsobia, že každý pár kľúč – hodnota sa zobrazí v novom riadku.Príklad:
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()>>
>
Výkon:

- preskakovacie klávesy: Ak kľúč nie je štandardne povolených typov ako int, float, string, None alebo bool, pri ich vyhadzovaní sa vygeneruje chyba. Aby ste tomu zabránili, ak je tento parameter nastavený na pravda .
Príklad:
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()>>
>
Výkon:
Ak skipkeys nie je nastavené na hodnotu true, vygeneruje sa nasledujúca chyba:
abecedy k číslam

- oddeľovač: Tento parameter zaberá jednu alebo dve hodnoty. Prvá hodnota určuje symbol, ktorý oddeľuje jeden pár kľúč – hodnota od druhého. Ďalší určuje symbol, ktorý oddeľuje hodnotu od jej kľúča.
- sort_keys: Tento parameter má boolovskú hodnotu. Ak je nastavená na True, kľúče sú nastavené vo vzostupnom poradí, inak sa zobrazujú ako v objekte Python
- secure_ascii: Tento parameter tiež preberá iba boolovské hodnoty. Ak nie je nastavené na hodnotu true, znaky, ktoré nie sú ASCII, sa vypisujú do výstupného súboru tak, ako sú. Predvolená hodnota je pravda .
Ak chcete zistiť rozdiel, pozrite si dva kódy nižšie.
Príklad 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>)>>
>
Výkon:

Príklad 2: Ak je nastavená na hodnotu True, obsah súboru json bude:
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>)>>
>
Výkon:

- povoliť_v: Pomáha serializovať rozsah hodnôt float.
Príklad 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>)>java nahradiť všetok reťazec
>
>
Výkon:

Príklad 2: Ak je nastavená na hodnotu True, chyba sa nevygeneruje. Obsah súboru json bude:
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>)>>
>
Výkon:






