„Python“

Kaip skaityti ir rašyti „Json“ failus „Python“

Kaip skaityti ir rašyti „Json“ failus „Python“
Šiame straipsnyje bus paaiškinta, kaip tvarkyti JSON failus ir duomenis „Python“ programavimo kalba. „Python“ komplekte yra įmontuotas „json“ modulis, leidžiantis lengvai ir paprastai tvarkyti JSON duomenis.

Apie JSON

JSON („JavaScript Object Notation“) yra failo formatas ir duomenų saugojimo standartas, kuris naudoja raktų ir verčių poras duomenims saugoti ir keistis. Tai yra plačiausiai naudojamas duomenų mainų formatas, dažnai matomas RESTful API, lengvose duomenų bazėse, konfigūracijos failuose ir kitoje neprisijungus arba internetinėje programinėje įrangoje, kuriai reikia saugoti, gauti ir keistis duomenimis. Daugumoje programavimo kalbų yra bibliotekos JSON duomenims analizuoti ir rašyti pagal numatytuosius nustatymus, o JSON yra programavimo kalbos agnostinis duomenų formatas. JSON faile arba naudingojoje apkrovoje saugomose reikšmėse paprastai yra eilutės, skaičiai ir serijiniai duomenų tipai, pvz., Sąrašai (masyvai).

JSON ir Python žodynai

JSON duomenys „python“ paverčiami žodyno objektu naudojant „apkrovos“ metodą. Dažnai pastebima, kad kai kurie žmonės sutapatina „Json“ duomenis ir „Python“ žodyną, nes jų abiejų apibrėžimo sintaksė yra beveik vienoda. Tačiau „Json“ duomenys yra ne kas kita, o teksto eilutė, sukonstruota griežtoje sintaksėje, o „Python“ žodynas yra duomenų struktūros objektas, saugomas atmintyje. Jei norite išsaugoti žodyno duomenis tekstiniame faile arba nusiųsti į kitą programą, nesusijusią su Python, pirmiausia turėsite konvertuoti ją į teksto eilutę (baitus). Ši perkelta / konvertuota teksto eilutė yra apibrėžta standartinėje JSON sintaksėje, o pitono žodyno pavertimo į Json suderinamą eilutę procesas vadinamas serializavimu.

JSON duomenų skaitymas ir išmetimas „Python“

JSON duomenis galima gauti kaip atsakymą iš serverio, nuskaityti iš failo, supjaustyti iš URL užklausos parametrų ir pan. Šiame straipsnyje daugiausia dėmesio bus skiriama „Json“ duomenų skaitymui iš vietoje saugomo failo. Tarkime, kad „testas.json “faile yra šie duomenys:

"kodo pavadinimas": "Eoan Ermine", "versija": "Ubuntu 19.10 "

Norėdami perskaityti testą.json failą „Python“, galite naudoti žemiau esantį kodą:

importuoti Json
su atviru ("testas.json ") kaip f:
duomenys = json.apkrova (f)
dump = json.sąvartynai (duomenys)
spausdinti (duomenys)
spausdinti (tipas (duomenys))
spausdinti (išversti)
spausdinti (tipas (iškelta))

Pirmoji eilutė aukščiau esančiame kode importuoja „Json“ modulį. Kitoje eilutėje „su atidaryta“ naudojama saugiai nuskaityti failo turinį. Bloke „su atviru“ „json.įkelti “metodas naudojamas failo turiniui kintamajame„ data “nuskaityti ir išsaugoti. Ankstesniame etape įkelti duomenys vėl paverčiami „Json“ eilute, naudojant „json.sąvartynas “metodas. Paleidus aukščiau esantį kodą bus rodoma ši išvestis:

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

"kodo pavadinimas": "Eoan Ermine", "versija": "Ubuntu 19.10 "

Aukščiau pateiktame išvestyje atkreipkite dėmesį, kad „json.įkelti “metodas nuskaito neapdorotus„ Json “duomenis į pitono žodyną, o„ json.sąvartynai “metodais žodynas paverčiamas eilute, suderinama su JSON struktūra. Kai JSON objektas bus paverstas Python žodyno objektu, galite naudoti įmontuotus Python žodyno metodus tvarkyti duomenis. Aukščiau pateiktas pavyzdys yra gana paprastas ir jame nėra masyvų į JSON duomenis ar įdėtas vertes. Tačiau „python“ sistemoje šias reikšmes galite tvarkyti kaip ir kitus įdėtus žodynus ir sąrašus.

JSON duomenų rūšiavimas ir gražus spausdinimas

„Json.metodas “palaiko kai kuriuos pasirinktinius raktų rūšiavimo parametrus ir gražų išvesties spausdinimą, kad būtų lengviau skaityti.

importuoti Json
su atviru ("testas.json ") kaip f:
duomenys = json.apkrova (f)
dump = json.sąvartynai (duomenys, rūšiavimo raktai = tiesa, įtrauka = ​​4)
spausdinti (išversti)

Aukščiau pateiktas kodas parodys šią išvestį:


„kodinis vardas“: „Eoan Ermine“,
"versija": "Ubuntu 19.10 "

Duomenų tipo konversijos

Žemiau pateiktame sąraše parodyta, kaip JSON reikšmės paverčiamos į python objektus ir atvirkščiai.

JSON „Python“
stygos str
numeris int arba plukdyti
tiesa, melas Tiesa, melas
niekinis Nė vienas
masyvas sąrašą
objektas diktuoti

Json.įrankis Komandinės eilutės modulis

„Python“ yra gražus komandinės eilutės įrankis „json.įrankis “, kuris gali būti naudojamas patvirtinant ir gražiai spausdinant JSON eilutes ir failus.

$ echo '"kodinis vardas": "Eoan Ermine", "versija": "Ubuntu 19.10 " '| python3 -m json.įrankis

Vykdydami anksčiau pateiktą komandą, parodysite šį išvestį:


„kodinis vardas“: „Eoan Ermine“,
„versija“: „Ubuntu 19.10 "

Taip pat galite naudoti Json.įrankis su JSON failais. Žemiau esančioje komandoje pakeiskite „in_file“ ir „out_file“ norimomis reikšmėmis:

$ python3 -m json.įrankis faile out_file

Išskyrus gražų JSON duomenų spausdinimą, rūšiavimą ir patvirtinimą, Json.įrankis nieko kito nedaro. Taigi, jei norite tvarkyti bet kokius JSON duomenis, turite parašyti savo pasirinktinį kodą naudodami integruotą JSON modulį.

Vidutinis pelės mygtukas neveikia sistemoje „Windows 10“
The vidurinis pelės mygtukas padeda naršyti ilgus tinklalapius ir ekranus, kuriuose yra daug duomenų. Jei tai sustos, gerai, jūs naudosite klaviatūrą ...
Kaip pakeisti kairįjį ir dešinįjį pelės mygtukus „Windows 10“ kompiuteryje
Gana įprasta, kad visi kompiuterio pelės įrenginiai yra ergonomiškai sukurti dešiniarankiams. Tačiau yra pelių prietaisų, specialiai sukurtų kairiaran...
Mėgdžiokite pelės paspaudimus, užveskite pelės žymeklį naudodami pelę „Clickless Mouse“ sistemoje „Windows 10“
Pelės ar klaviatūros naudojimas netinkamoje laikysenoje, kai naudojama per daug, gali sukelti daug sveikatos problemų, įskaitant įtampą, riešo kanalo ...