Rozdział 22 · Tworzenie stron internetowych z Python

JSON: format wymiany danych

Popularny format tekstu dla danych strukturalnych, który jest rozumiany przez programy w różnych językach.

JSON (JavaScript Object Notation) to format tekstowy do transmisji Dane strukturalne między programami. Nazwa przypomina JavaScript, ale JSON od dawna jest używany przez programy w każdym języku, w tym Python — to tylko tekstowe Format, nie kod, który gdzieś działa.

Znaczenie JSONZgodność w Python
cel {{"ключ": значение}}dict
tablica [1, 2, 3]list
łańcuch znaków "текст"str
liczba 42 / 3.14int / float
true / falseTrue / False
nullNone
JSON to nie to samo, co pisanie słownika Python
JSON ma ścisłą składnię: klucze i wartości łańcuch znaków muszą być w cudzysłowie. {{'name': 'Ada'}} — to wydruk słownika Python, a nie JSON:, w poprawnym JSON wygląda to tak {{"name": "Ada"}}. Pojedyncze cudzysłowy, True wielką literą, przecinek przed zamknięciem przełamuje JSON, nawet jeśli wygląda niemal poprawnie.

Moduł json to standardowa biblioteka Python

json_primer.py
import json

zadacha = {{"title": „Kup chleb”, "done": False}}

# Python -> tekst JSON
tekst = json.dumps(zadacha, ensure_ascii=False)
print(tekst)   # {{"title": "Kup chleb", "done": false}}
14

# tekst JSON -> Python
obratno = json.loads(tekst)
print(obratno["title"])   # Kup chleb
ensure_ascii=False — aby cyrylica pozostała cyrylicą
Domyślnie json.dumps() zamienia wszystkie nie-ASCII znaki na sekwencje escape- takie jak \u041a jest ważne, ale dla osoby JSON. ensure_ascii=False pozostawia cyrylicę bez zmian; wynik pozostaje taki sam JSON, po prostu wygodniejszy do czytania.

JSON ograniczenia formatu

Format nie ma osobnego typu daty i godziny — zwykle jest przekazywany jako łańcuch znaków do uzgodniony format (np. "2026-08-23") i już są demontowane na boku. Nie ma też typu dla danych binarnych (obraz, plik) — zazwyczaj są one kodowane do tekstu (na przykład Base64) lub przekazane jako osobny JSON zapytania. oraz liczby rzeczywiste tak ściśle jak Python: bardzo duże lub bardzo dokładne liczby przy Transfery między różnymi językami programowania czasem wymagają dokładności.

JSON jest formatem danych, a nie bazą danych i sam w sobie nie jest API
JSON opisuje, jak nagrywać dane w formie tekstu. Nie przechowuje on danych na stałe samodzielnie (do tego potrzebna jest baza danych — sekcja 22.20) i nie jest samym interfejsem programu (do tego potrzebny jest kod, który go przetwarza — przykład takiego kodu znajduje się w sekcji 22.16). JSON jest powszechnym formatem tekstowym do wymiany danych między różnymi częściami systemu.
Praktyka: Przekształcanie danych między Python a JSON
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji
Otwórz praktykę →