JavaScript Object Notation (JSON) on muutunud veebis standardseks andmevahetuse vorminguks. Seda kasutatakse laialdaselt andmete edastamiseks veebirakendustes, peamiselt seetõttu, et seda on lihtne luua ja mõista nii inimestel kui ka masinatel. Kuid kuidas saame selle vorminguga hakkama Pythonis, mis on andmeteadlaste jaoks mõeldud keel? Selles põhjalikus õpetuses õpime, kuidas Pythoniga JSON-andmeid lugeda ja sõeluda.
JSON-i mõistmine
JSON on tekstivorming, mis on täielikult keelest sõltumatu, kuid kasutab C-keelte perekonna programmeerijatele tuttavaid tavasid, sealhulgas C, C++, C#, Java, JavaScript, Perl, Python ja paljud teised. See võib esindada numbreid, stringe, järjestatud väärtuste jadasid (massiivid) ja nime-väärtuste paaride kogumeid (objekte).
JSON vs XML
Enne JSONi populaarsust kasutati andmete salvestamiseks ja edastamiseks suures osas XML-i (eXtensible Markup Language). Erinevalt XML-ist pakub JSON andmevahetuseks lihtsamat ja inimloetavamat süntaksit. Siin on mõned peamised erinevused.
JSON | XML |
---|---|
Lihtne lugeda ja kirjutada. | Vähem lihtne lugeda ja kirjutada. |
Sõelumine on kiire. | Sõelumine on aeglane. |
Andmed on JSON-objektidena hõlpsasti juurdepääsetavad. | Objektidena kasutamiseks tuleb andmed lahti pakkida. |
Massiivi tugi. | Massiivi tugi puudub. |
Vähesõnaline. | Paljusõnalisem. |
Python ja JSON
Pythonil on sisseehitatud pakett nimega json, mida saab kasutada JSON-andmetega töötamiseks. Kui teil on JSON-string, saate selle sõeluda, kasutades json.loads() meetod. Samamoodi, kui teil on Pythoni objekt, saate selle teisendada JSON-stringiks, kasutades json.dumps() meetod.
JSON-andmete lugemine Pythonis
Pythoni sisseehitatud json moodul pakub funktsioone nii JSON-failide lugemiseks kui ka nendesse kirjutamiseks. Sa võid kasutada json.load() meetod JSON-objekti sisaldava faili lugemiseks.
import json
with open('sample.json', 'r') as f:
data = json.load(f)
See koodilõik avab faili sample.jsonja failis olev JSON-objekt deserialiseeritakse Pythoni sõnastikku, mis on määratud muutujale andmeid.
JSON-andmete sõelumine Pythonis
Pythoni json-moodul muudab JSON-andmete sõelumise lihtsaks.
import json
json_string = '{"name": "John", "age": 30, "city": "New York"}'
python_dict = json.loads(json_string)
Selles näites json.loads() võtab sisendiks stringi ja tagastab väljundina sõnastiku.
JSON-andmete kirjutamine Pythonis
Pythoni objekti kirjutamiseks JSON-faili kasutate json.dump().
import json
data = {
"name": "John",
"age": 30,
"city": "New York"
}
with open('output.json', 'w') as json_file:
json.dump(data, json_file)
Selles näites kirjutatakse Pythoni sõnastikku output.json.
Pythoni objektide teisendamine JSON-iks
Seda funktsiooni pakub Pythoni json-moodul json.dumps() Pythoni objektide teisendamiseks JSON-vormingusse. Seda protsessi nimetatakse serialiseerimiseks.
import json
data = {
"name": "John",
"age": 30,
"city": "New York"
}
json_data = json.dumps(data)
Siin on Pythoni sõnastik andmeid on serialiseeritud JSON-vormingus stringiks kasutades json.dumps().
JSON ja Python Real-World näide
JSON-i kasutatakse laialdaselt veebiarenduses andmete saatmiseks kliendilt serverisse. See on põhinäide selle kohta, kuidas Pythoni skripti saab kasutada andmete saatmiseks veebiserverisse JSON-vormingus.
import json
import requests
data = {
"name": "John",
"age": 30,
"city": "New York"
}
headers = {"Content-Type": "application/json"}
response = requests.post("http://httpbin.org/post", headers=headers, data=json.dumps(data))
print(response.json())
See kõik puudutab JSON-andmete lugemist ja sõelumist Pythoniga. Pidage meeles, et JSON-i andmestruktuuri mõistmine ja sellega Pythoni abil manipuleerimine on kaasaegse veebimaailma võtmeoskus. Seetõttu harjutage kindlasti selles õpetuses käsitletud kontseptsioone, et saada JSON-andmete käsitlemine mugavalt. Head õppimist!
Kommentaarid (0)
Siin pole veel kommentaare, võite olla esimene!