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.

JSONXML
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!

Lisa kommentaar

Sinu e-postiaadressi ei avaldata. Nõutavad väljad on tähistatud *-ga


Vali ja osta proxy

Andmekeskuse proksid

Pöörlevad proksid

UDP Proxy'd

Usaldab üle 10 000 kliendi kogu maailmas

Puhverklient
Puhverklient
Puhverklient flowch.ai
Puhverklient
Puhverklient
Puhverklient