Python

Kā lasīt un rakstīt Json failus Python

Kā lasīt un rakstīt Json failus Python
Šajā rakstā tiks paskaidrots, kā rīkoties ar JSON failiem un datiem Python programmēšanas valodā. Python nāk ar iebūvētu “json” moduli, kas padara JSON datu apstrādi vieglu un vienkāršu.

Par JSON

JSON (JavaScript Object Notation) ir faila formāts un datu glabāšanas standarts, kas datu glabāšanai un apmaiņai izmanto atslēgu vērtību pārus. Tas ir visplašāk izmantotais datu apmaiņas formāts, ko bieži redz RESTful API, vieglajās datu bāzēs, konfigurācijas failos un citā bezsaistes vai tiešsaistes programmatūrā, kurai nepieciešams uzglabāt, izgūt un apmainīties ar datiem. Lielākā daļa programmēšanas valodu ietver bibliotēkas, lai pēc noklusējuma parsētu un rakstītu JSON datus, un JSON ir programmēšanas valodas agnostiķu datu formāts. JSON failā vai lietderīgajā kravā saglabātajās vērtībās parasti ir virknes, numuri un sērijveidojami datu tipi, piemēram, saraksti (masīvi).

JSON un Python vārdnīcas

JSON dati pitonā tiek pārveidoti par vārdnīcas objektu, izmantojot “ielādes” metodi. Bieži redzams, ka daži cilvēki pielīdzina Json datus un pitona vārdnīcu, jo abu definēšanai sintakse ir gandrīz vienāda. Tomēr Json dati nav nekas cits kā teksta virkne, kas strukturēta stingrā sintaksē, savukārt pitona vārdnīca ir atmiņā saglabāts datu struktūras objekts. Ja vēlaties glabāt vārdnīcas datus teksta failā vai nosūtīt tos citai programmai, kas nav pitons, vispirms tas būs jāpārvērš teksta virknē (baiti). Šī izmestā / pārveidotā teksta virkne ir definēta JSON standarta sintaksē, un python vārdnīcas pārveidošanu par Json saderīgu virkni sauc par serializāciju.

JSON datu lasīšana un dempings Python

JSON datus var iegūt kā atbildes veidlapu no servera, lasīt no faila, sagriezt no URL vaicājuma parametriem un tā tālāk. Šis raksts galvenokārt koncentrēsies uz Json datu lasīšanu no lokāli saglabāta faila. Pieņemsim, ka “tests.json ”failā ir šādi dati:

"koda nosaukums": "Eoan Ermine", "versija": "Ubuntu 19.10 "

Lai izlasītu testu.json failu python, varat izmantot zemāk esošo kodu:

importa json
ar atvērtu ("tests.json ") kā f:
dati = json.slodze (f)
dump = json.izgāztuves (dati)
drukāt (dati)
drukāt (tips (dati))
izdrukāt (izgāzt)
drukāt (tips (dump))

Iepriekšējā koda pirmā rindiņa importē Json moduli. Nākamajā rindiņā faila satura drošai nolasīšanai tiek izmantots “ar atvērtu”. Bloka “ar atvērtu” ietvaros “json.ielādēt ”metodi izmanto, lai lasītu un saglabātu faila saturu mainīgajā“ data ”. Iepriekšējā solī ielādētie dati tiek pārveidoti atpakaļ json virknē, izmantojot “json.dump ”metodi. Palaidot iepriekš minēto kodu, tiks parādīta šāda izeja:

'codename': 'Eoan Ermine', 'version': 'Ubuntu 19.10 '

"koda nosaukums": "Eoan Ermine", "versija": "Ubuntu 19.10 "

Iepriekš redzamajā izvadā ievērojiet, ka “json.slodze ”metode nolasa neapstrādātus Json datus pitona vārdnīcā, bet“ Json.izgāztuves ”metodes pārveido vārdnīcu virknē, kas ir saderīga ar JSON struktūru. Kad JSON objekts ir pārveidots par Python vārdnīcas objektu, datu apstrādei varat izmantot iebūvētās Python vārdnīcas metodes. Iepriekš minētais piemērs ir diezgan vienkāršs, un tajā nav iekļauti masīvi JSON datos vai ligzdotās vērtībās. Tomēr pitonā jūs varat rīkoties ar šīm vērtībām tāpat kā ar visām citām ligzdotajām vārdnīcām un sarakstiem.

JSON datu kārtošana un glīta izdrukāšana

“Json.dump ”metode atbalsta dažus izvēles parametrus, lai šķirotu atslēgas un jauku izdruku uzlabotu lasāmību.

importa json
ar atvērtu ("tests.json ") kā f:
dati = json.slodze (f)
dump = json.izgāztuves (dati, sort_keys = True, atkāpe = 4)
izdrukāt (izgāzt)

Iepriekš minētais kods parādīs šādu izvadi:


"koda nosaukums": "Eoan Ermine",
"versija": "Ubuntu 19.10 "

Datu veida reklāmguvumi

Zemāk esošajā sarakstā ir parādīts, kā JSON vērtības tiek pārveidotas par pitona objektiem un otrādi.

JSON Python
virkne str
numuru int vai peldēt
patiess, nepatiess Patiesi, nepatiesi
nulle Nav
masīvs sarakstā
objekts diktēt

Džsons.rīks komandrindas modulis

Python ietver jauku komandrindas utilītu “json.rīks ”, ko var izmantot, lai pārbaudītu un glīti izdrukātu JSON virknes un failus.

$ echo '"koda nosaukums": "Eoan Ermine", "versija": "Ubuntu 19.10 " '| python3 -m json.rīks

Palaidot iepriekš minēto komandu, tiks parādīta šāda izeja:


"koda nosaukums": "Eoan Ermine",
"versija": "Ubuntu 19.10 "

Varat arī izmantot json.rīks ar JSON failiem. Zemāk esošajā komandā aizstājiet “in_file” un “out_file” ar vēlamajām vērtībām:

$ python3 -m json.rīks in_file out_file

Izņemot glītu drukāšanu, JSON datu šķirošanu un apstiprināšanu, json.rīks nedara neko citu. Tātad, ja vēlaties manipulēt ar visiem JSON datiem, jums ir jāraksta savs pielāgotais kods, izmantojot iebūvēto JSON moduli.

Kā instalēt un spēlēt Doom uz Linux
Ievads liktenī Doom sērija radās 90. gados pēc sākotnējā Doom izlaišanas. Tas bija tūlītējs hīts, un kopš tā laika spēļu sērija ir saņēmusi daudzas ba...
Vulkan Linux lietotājiem
Ar katru jauno grafisko karšu paaudzi mēs redzam, kā spēļu izstrādātāji pārspēj grafiskās uzticamības robežas un tuvojas fotoreālismam. Neskatoties uz...
OpenTTD vs Simutrans
Transporta simulācijas izveide var būt jautra, relaksējoša un ārkārtīgi vilinoša. Tāpēc jums jāpārliecinās, ka izmēģināt pēc iespējas vairāk spēļu, la...