Zwracanie list i zagnieżdżonych danych
Bezpiecznie serializuj tablice i zagnieżdżone obiekty.
Zwracanie list i zagnieżdżonych danych to bezpłatna lekcja Flask Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Flask Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Flask Academy zawiera 4 lekcji w sumie.
Poza pojedynczym obiektem
Prawdziwe API rzadko zwraca tylko jeden element. Zwracają one kolekcje i bardziej rozbudowane struktury, dlatego potrzebujesz jsonify do łatwej obsługi list i zagnieżdżonych danych. 📦
Listy stają się tablicami JSON
Pythonowa lista bezpośrednio odwzorowuje tablicę JSON. Utwórz listę słowników, a jsonify zserializuje całą kolekcję jednocześnie.
users = [{"name": "Ada"}, {"name": "Linus"}]Zwróć listę elementów
Przekaż tę listę bezpośrednio do jsonify, a punkt końcowy odpowie tablicą JSON. Każdy słownik stanie się jednym obiektem wewnątrz tablicy.
@app.route("/users")
def users():
return jsonify([{"name": "Ada"}, {"name": "Linus"}])Zagnieżdżanie jest naturalne
JSON świetnie radzi sobie z głębokimi strukturami. Słownik może zawierać kolejny słownik lub listę, co pozwala modelować zagnieżdżone struktury odzwierciedlające rzeczywiste dane.
post = {"title": "Hi", "tags": ["flask", "api"]}Głęboko zagnieżdżone obiekty
Możesz zagnieżdżać dane tak głęboko, jak wymaga tego ich struktura. jsonify przechodzi przez całą strukturę, więc słownik zawierający listę słowników jest serializowany rekurencyjnie bez dodatkowego wysiłku.
data = {"team": {"members": [{"name": "Ada"}]}}Swobodne łączenie typów
W zagnieżdżonej strukturze możesz łączyć ciągi znaków, liczby, wartości logiczne i null. jsonify konwertuje każdą wartość Pythona na jej właściwy odpowiednik w formacie JSON.
{"id": 7, "active": True, "score": 9.5, "note": None}Tablice najwyższego poziomu są dozwolone
Dawniejsze zalecenia ostrzegały przed zwracaniem bezpośredniej tablicy, ale nowoczesny Flask bezpiecznie obsługuje tablice JSON najwyższego poziomu. Zwracaj listę bez obaw.
Opakowanie na metadane
Wiele zespołów opakowuje listę w słownik, aby dodać kontekst. Klucz results zawiera tablicę, a sąsiednie klucze przechowują liczniki lub wskazówki dotyczące stronicowania.
return jsonify(results=users, count=len(users))Tylko typy bezpieczne dla JSON
jsonify obsługuje słowniki, listy, ciągi znaków, liczby, wartości logiczne i None. Przekazanie własnego obiektu spowoduje jednak błąd serializacji.
Najpierw konwertuj obiekty
Gdy dane pochodzą z wiersza bazy danych lub klasy, przed przekazaniem ich do jsonify zamień je na zwykły słownik. Ten etap konwersji zapewnia przewidywalną i bezpieczną serializację.
return jsonify([{"id": u.id, "name": u.name} for u in users])Kolejność jest zachowywana
Flask domyślnie zachowuje klucze w kolejności, w której zostały zapisane. Ta stabilna kolejność ułatwia czytanie odpowiedzi i porównywanie ich w testach.
Szybkie sprawdzenie
Zobacz, jak typy Pythona są odwzorowywane na JSON podczas serializacji kolekcji.
Podsumowanie
Potrafisz już serializować listy i zagnieżdżone słowniki za pomocą jsonify, najpierw konwertując obiekty na zwykłe typy, dzięki czemu nawet głębokie struktury stają się przejrzystym JSON-em. 🎯
Często zadawane pytania
Czy lekcja „Zwracanie list i zagnieżdżonych danych” jest bezpłatna?
Tak — pełny tekst „Zwracanie list i zagnieżdżonych danych” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Flask Academy, przejdź na CoddyKit PRO. Kurs Flask Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Zwracanie list i zagnieżdżonych danych”?
Bezpiecznie serializuj tablice i zagnieżdżone obiekty. Ćwiczysz Flask Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Flask Academy?
Nie wymagamy żadnego doświadczenia. Flask Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Zwracanie list i zagnieżdżonych danych”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Flask Academy?
Tak. Każda lekcja Flask Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Konwertowanie słownika za pomocą jsonify
- Zwracanie list i zagnieżdżonych danych
- Ustawianie kodów statusu w odpowiedziach JSON
- Content-Type i nagłówek Accept