✦ Osnove Pythona Modul rada sa podacima

Koncept 21 · JSON podaci

Pretvorite tekst u podatke.
I podatke nazad u tekst.

Python već radi sa strukturiranim vrednostima kao što su rečnici i liste. JSON je uobičajen tekstualni format za čuvanje ili razmenu sličnih strukturiranih podataka između programa.

01 Uči02 Isprobaj03 Predvidi

Učenje kao gost

Učiš kao gost — sačuvaj svoj napredak!

Napravi besplatan nalog i uči uz Sloby AI mentora, proveru razumevanja i praćenje napretka.

Cela platforma je besplatna tokom 2026. Foundations ostaje zauvek besplatan.

Pretvori JSON tekst u Python podatke, a zatim ponovo nazad.

JSON je tekst sa standardnom strukturom. Python ne može da koristi taj sirovi tekst na potpuno isti način kao rečnik ili listu, zato json.loads() parsira JSON tekst u Python podatke. Kada radiš sa Python podacima, json.dumps() ponovo pravi JSON tekst.

import json

student_json = '{"name": "Ana", "score": 95}'
student = json.loads(student_json)

print(student["name"])

result = json.dumps(student)
print(result)

student_json je string koji sadrži JSON tekst. json.loads(student_json) čita taj tekst, prepoznaje njegovu strukturu i vraća Python rečnik. Nakon toga student["name"] radi zato što je student Python podatak, a ne sirovi JSON tekst.

Ana {"name": "Ana", "score": 95}

json.loads() znači JSON string → Python vrednost. json.dumps() znači Python vrednost → JSON string. Nijedan poziv nije magičan: svaki vraća novu vrednost, a ovaj primer vraćenu vrednost čuva pod novim imenom.

↳

Koristi ovo kao glavnu JSON mapu: JSON tekst → json.loads() → Python podaci → rad sa podacima ili izmena → Python podaci → json.dumps() → JSON tekst

Prati JSON tekst → Python podaci → JSON tekst
import json

student_json = '{"name": "Ana", "score": 95}'
student = json.loads(student_json)
print(student["name"])

student["score"] = 100
result = json.dumps(student)

Najpre je student_json tipa str. loads() parsira njegov JSON tekst i pretvara student u Python dict. Rečnik se može normalno čitati i menjati, pa rezultat postaje 100. Na kraju dumps() vraća novi JSON string u result; student je i dalje Python rečnik.

JSON tekst nije isto što i Python rečnik
student_json = '{"name": "Ana", "score": 95}'
student = {"name": "Ana", "score": 95}

Ove vrednosti mogu izgledati slično, ali navodnici oko cele prve vrednosti čine je jednim stringom koji sadrži JSON tekst. Druga vrednost je Python rečnik. Python ih tretira kao različite tipove, zato parsiraj JSON tekst pre korišćenja ključeva rečnika.

loads() parsira JSON tekst u Python podatke
student = json.loads(student_json)
print(student["score"])

Parsiranje znači čitanje strukturiranog teksta i pravljenje odgovarajuće Python strukture. Ovde JSON object postaje rečnik, pa Python može da pronađe "score" pomoću operacije nad rečnikom koju već poznaješ.

dumps() pravi JSON string od Python podataka
result = json.dumps(student)
print(result)

dumps() prima Python vrednost, kao što su rečnik ili lista, i vraća JSON tekst kao string. Ne menja originalni rečnik; result čuva novi JSON string, baš kao što funkcija može da vrati novu vrednost pod drugim imenom.

Mala mapa JSON i Python tipova
JSON object  → Python dict
JSON array   → Python list
JSON string  → Python str
JSON number  → Python int or float
JSON true / false → Python True / False
JSON null    → Python None

Ovo je praktična mapa, a ne spisak koji treba odjednom naučiti napamet. Važna ideja je da loads() pretvara JSON strukturu u Python vrednosti koje već znaš da koristiš.

Ugnježdeni JSON postaje ugnježdeni Python podaci
course_json = '{"title": "Python", "students": ["Ana", "Marko"]}'
course = json.loads(course_json)
print(course["students"][0])

JSON object postaje rečnik course, a njegov array students postaje Python lista. Nakon parsiranja čitaj podatke jednim poznatim korakom po jednim: najpre ključ rečnika, zatim indeks liste.

Zašto JSON postoji u svakodnevnim programima
settings_text = json.dumps({"theme": "dark", "font_size": 16})

Programi često razmenjuju strukturirane informacije, web servisi šalju strukturirane podatke, a aplikacije čuvaju jednostavna podešavanja. JSON različitim programima i jezicima daje zajednički tekstualni format, dok Python tebi lokalno daje rečnike i liste za rad.

Praktičan kontrolni spisak za čitanje JSON koda

  1. Pronađi početnu vrednostDa li je to JSON tekst u stringu ili već Python podatak?
  2. Pronađi pretvaranjeDa li kod poziva json.loads() ili json.dumps()?
  3. Odredi tip rezultataKoji je Python tip dostupan posle loads()? Posle dumps() rezultat je string.
  4. Prati pristup podacimaKoji ključ rečnika ili indeks liste kod koristi nakon parsiranja?
  5. Prati izmeneDa li kod menja Python rečnik ili listu nakon parsiranja?
  6. Pronađi konačni rezultatDa li program ispisuje Python vrednost ili JSON tekst koji vraća dumps()?

Česte početničke greške

  • Tretiranje JSON teksta kao da je već rečnikKoristi json.loads() pre pokušaja izraza kao što je student_json["name"].
  • Očekivanje da loads() vrati JSON tekstloads() vraća Python podatke, kao što su rečnik ili lista, pa sa njima možeš da radiš pomoću Python operacija.
  • Očekivanje da dumps() vrati rečnik ili listudumps() vraća jedan JSON string. Sačuvaj ga pod imenom kao što je result kada kasnijem kodu treba tekst.
  • Zaboravljanje da ispravan JSON ima JSON sintaksuJSON tekst mora da koristi sopstvenu ispravnu sintaksu, uključujući obavezne dvostruke navodnike oko ključeva objekta i string vrednosti.
  • Gubljenje iz vida tipa vrednostiU svakom koraku se zapitaj da li ime trenutno čuva JSON tekst, Python rečnik, listu ili neku drugu Python vrednost.
  • Menjanje pogrešne vrednostiPromeni parsirani Python rečnik ili listu, a zatim pozovi dumps() kada ti treba novi JSON tekst.

Python radni prostor

Učitavanje Python okruženja…

Počni sa JSON tekstom, koristi json.loads() da dobiješ Python podatke, promeni rečnik, a zatim koristi json.dumps() da vidiš novi JSON tekst. Obrati pažnju na to koja promenljiva čuva koji tip.

json_data.pyPython
IzlazČeka se Python
Okruženje pregledača se učitava. I dalje možeš da menjaš primer koda.

Pyodide pokreće Python u Web Worker-u pregledača. Zaustavlja se i ponovo pokreće ako se kod predugo izvršava. Izvršavanje u pregledaču nije potpuna bezbednosna granica; ne unosi tajne i ne oslanjaj se na njega za izolaciju nepouzdanog koda.

Šta će ovaj program ispisati?

Pročitaj svaku operaciju nad podacima pre nego što izabereš odgovor.

import json

course = json.loads('{"title": "Python", "students": 12}')
print(course["title"])
print(course["students"] + 1)
Izaberi izlaz
Sloby, maskota Python AI Tutora

Tvoj mentor za učenje

Prijavite se da pitate Slobyja

Napravite besplatan nalog ili se prijavite za AI smernice tokom učenja.

Prijavite se da proverite svoje razumevanje

Napravite besplatan nalog ili se prijavite da biste dobili AI povratnu informaciju i sačuvali napredak u učenju.

Python AI Tutor · Uči razumevanjem, a ne samo pokretanjem koda.