Przejdź do treści
snowkitDev

Waliduj, odpytuj i twórz dane testowe z swojego JSON

Sprawdź dokument JSON względem JSON Schema i zobacz dokładnie, które pole jest błędne i dlaczego, wypróbuj wyrażenia JSONPath z wynikami na żywo albo zamień schemat lub próbkę w tyle realistycznych rekordów testowych, ile potrzebujesz.

Waliduj względem schematu

Twój JSON i JSON Schema, do którego ma pasować.

draft 2020-12 lub 07

    Sprawdzane podczas pisania

    Sprawdzaj JSON względem schematu, wyciągaj wartości za pomocą JSONPath i twórz realistyczne dane testowe, wszystko w przeglądarce. Nic nie jest przesyłane, więc jest bezpieczne dla prywatnych danych. Jest darmowe i nie wymaga konta.

    Jak używać narzędzi JSON

    1. Otwórz kartę Walidacja, JSONPath lub Dane testowe. Wczytaj przykład pokazuje działający zestaw.
    2. Walidacja: wklej dane JSON i JSON Schema, naciśnij Uporządkuj oba, aby je sformatować, i przeczytaj wypisane problemy.
    3. JSONPath: wklej JSON, wpisz wyrażenie JSONPath i przeczytaj wynik. Pokaż ścieżki dodaje położenie każdego dopasowania, a Kopiuj wynik go zabiera.
    4. Dane testowe: wklej schemat lub przykładowy rekord (albo zamiast tego Wypróbuj przykładowy rekord), ustaw liczbę Rekordów i Ziarno, a potem wybierz Wynik: tablica JSON, NDJSON (po jednym w wierszu) lub CSV.
    5. Naciśnij Kopiuj lub Pobierz.

    Co sprawdza walidator

    Podstawowe słowa kluczowe z JSON Schema draft 2020-12 i draft 07: type, properties, required, additionalProperties, patternProperties, items i prefixItems, enum, const, limity liczb i długości, pattern, uniqueItems, contains, oneOf, anyOf, allOf, not, if/then/else oraz $ref do lokalnych definicji, takich jak #/$defs/address. Sprawdzane formaty to email, uri, date, time, date-time, uuid, ipv4, ipv6 i hostname. Każdy problem jest wypisany ze swoją ścieżką, jak $.items[2].price, więc możesz go szybko znaleźć.

    JSONPath w skrócie

    $ to korzeń, .name wybiera klucz, ..name szuka na dowolnej głębokości, * pasuje do wszystkiego, [0] i [-1] wybierają według pozycji, a [0:3] bierze wycinek. Filtry takie jak [?(@.price < 10)] zachowują elementy, które przechodzą test; możesz porównywać za pomocą ==, !=, <, >, dopasowywać wyrażenie regularne za pomocą =~ /text/i, sprawdzać istnienie klucza za pomocą [?(@.isbn)] i łączyć testy za pomocą && i ||.

    Realistyczne dane testowe

    Wklej schemat, aby otrzymać rekordy, które go spełniają, z liczbami w Twoim minimum i maksimum, ciągami pasującymi do długości, wzorca i formatu oraz wartościami wybranymi z każdego enum. Wklej zamiast tego przykładowy rekord, a jego kształt zostanie skopiowany. Nazwy pól kierują wartościami, więc email, first_name, city, price, created_at i is_active dostają wiarygodną treść, a e-maile pasują do imion w tym samym rekordzie.

    Wskazówki

    • Użyj tego samego ziarna, aby znów otrzymać te same dane testowe, co czyni testy powtarzalnymi.
    • Gdy walidacja zawodzi, popraw pierwszy błąd i sprawdź ponownie, bo jedna pomyłka może powodować kilka.
    • Zacznij od JSONPath $..name, aby przeszukać duży plik w poszukiwaniu znanego klucza.
    • Użyj wyniku NDJSON dla narzędzi, które czytają jeden rekord w wierszu.

    Kto z tego korzysta

    Programiści testujący API, analitycy wyciągający pola z eksportu i uczniowie uczący się JSON. Powiązane narzędzia: JSON na typy, konwerter formatów i porównywanie tekstów.

    Pytania

    Czy mój JSON jest przesyłany?

    Nie. Wszystko działa w Twojej przeglądarce.

    Które wersje schematu są obsługiwane?

    Draft 2020-12 i draft 07, dla słów kluczowych wymienionych powyżej.

    Czy dane testowe są prawdziwe?

    Nie. Jest zmyślone, więc bezpiecznie je udostępniać i używać w testach.

    Co dalej

    Kontynuuj to, co właśnie stworzyłeś, nadal na swoim urządzeniu.

    Więcej od Snowkit