Sprytne Okazje — promocje, kody rabatowe i wyprzedaże

Generator testowego JSON API

Generuj fałszywe dane JSON dla dowolnego endpointu REST: użytkownicy, produkty, zamówienia. Kopiuj lub pobierz plik JSON. Idealne do frontendowego prototypowania i testów jednostkowych. Bezpłatnie.

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}
Dane
TypAttributes
users
ID
8 422
UUID
c09129ee-b419-443a-8367-97ea50190805
Nazwa
Morgan Martin
Nazwa użytkownika
ember_9435
Status
inactive
Data utworzenia
2026-07-08T17:37:51+00:00
Cena
1 104,69
Tagi
orbitembercloud
Is Verified
Nie
users
ID
6 220
UUID
2be71118-df2f-45b7-8832-2272e7edb566
Nazwa
Alex Brown
Nazwa użytkownika
luna_2767
Status
inactive
Data utworzenia
2026-01-01T01:19:27+00:00
Cena
1 319,07
Tagi
orbitbravoatlas
Is Verified
Tak
users
ID
750
UUID
d90ee3a2-7c68-4819-9579-628064df5d6d
Nazwa
Alex Nowak
Nazwa użytkownika
river_7600
Status
inactive
Data utworzenia
2026-07-02T20:57:48+00:00
Cena
2 046,15
Tagi
cloudatlaspulse
Is Verified
Nie
users
ID
5 422
UUID
fd1af53a-1dc6-4d29-a682-4bb9b59cd793
Nazwa
Chris Smith
Nazwa użytkownika
atlas_7717
Status
pending
Data utworzenia
2025-11-28T08:53:40+00:00
Cena
1 413,94
Tagi
orbitzenalpha
Is Verified
Tak
users
ID
8 138
UUID
0609b677-93d3-448b-bca3-e9ff935e0d38
Nazwa
Alex Martin
Nazwa użytkownika
luna_8124
Status
pending
Data utworzenia
2026-09-08T10:45:23+00:00
Cena
1 690,25
Tagi
alphaalphaalpha
Is Verified
Nie
Metadane
Liczba
5
Wygenerowano
2026-10-21T07:35:14+00:00
Seed
42

Oceń to narzędzie:

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Generator testowego JSON API – mock dane REST bez backendu

Podczas prototypowania frontendu backend często jeszcze nie istnieje. Narzędzie generuje realistyczne dane JSON dla typowych endpointów REST: listy użytkowników, produktów, zamówień, artykułów. Możesz skonfigurować schemat, liczbę rekordów i typy pól – wynik to gotowy plik JSON lub response mock.

generator JSON API mock REST API testowe dane JSON dummy JSON generator

Dostępne schematy danych

Użytkownicy: id, name, email, avatar, role, createdAt. Produkty: id, title, price, category, stock, rating. Zamówienia: id, userId, items[], total, status, date. Artykuły/posty: id, title, body, author, tags[], publishedAt. Własny schemat: definiujesz pola i typy (string, number, boolean, date, uuid, enum).

Typy generowanych wartości

Realistic fake data: imiona (Faker.js locale pl), adresy email w formacie [email protected], UUID v4, daty ISO 8601, ceny z groszami, zakresy liczbowe (min/max), lorem ipsum (PL/EN), kolory HEX, współrzędne GPS (PL zakres), numery telefonu +48.

Formaty wyjściowe

JSON array: [{...},{...}]. Paginated: {data:[...], total:N, page:1, per_page:10}. Nested (relacje): user.orders[]. JSON Lines (NDJSON): każdy rekord w osobnej linii – dobry dla logów i streamingu. TypeScript interfaces: automatycznie generowany typ na podstawie schematu.

Integracja z narzędziami dev

JSON Server: serwer REST na bazie pliku JSON (npm install -g json-server). MSW (Mock Service Worker): interceptuje żądania w przeglądarce. Postman / Insomnia: import jako collection. Storybook: dane jako props dla stories. Vitest/Jest: import JSON jako dane testowe.

Jak działa generator mock JSON API

Narzędzie działa w trzech etapach: definicja schematu, mapowanie typów pól na generatory wartości i serializacja do wybranego formatu wyjściowego. Schemat to lista pól z typem — pole typu uuid trafia do generatora identyfikatorów w wersji 4, pole typu date do generatora znaczników czasu w formacie ISO 8601, a pole typu enum losuje jedną wartość z podanej listy wariantów. Liczba rekordów mówi tylko, ile razy generator przejdzie tę samą definicję. Nie ma tu backendu ani bazy danych: cała praca odbywa się w przeglądarce, a wynik trafia do schowka albo do pliku.

Kolejność generowania ma znaczenie przy relacjach. Najpierw powstają rekordy nadrzędne, na przykład użytkownicy, a dopiero potem rekordy zależne, na przykład zamówienia. Pole userId w zamówieniu dostaje identyfikator wylosowany wcześniej na liście użytkowników, więc klucz obcy wskazuje istniejący rekord, a nie dowolną liczbę. Przy formacie nested tablica items[] jest budowana wewnątrz rekordu zamówienia, dzięki czemu struktura pozostaje poprawna także wtedy, gdy przekazujesz ją dalej jako props komponentu.

Ostatni etap to pakowanie zbioru w format. Zwykła tablica to lista rekordów jedna po drugiej, format paginated dokłada kopertę z polami data, total, page i per_page, a NDJSON zapisuje każdy rekord w osobnej linii. Ten sam zbiór danych wykorzystasz więc zarówno w teście jednostkowym, jak i jako plik źródłowy dla json-server, bez ręcznego przepisywania i dopasowywania nazw pól.

Przykład krok po kroku: zamówienia w formacie paginated

  1. Wybierz schemat zamówienia. Rekord składa się z pól id, userId, items[], total, status i date. Zostaw domyślne typy: uuid dla id, liczba dla userId, tablica obiektów dla items[], liczba z groszami dla total, enum dla status i data ISO 8601 dla date.
  2. Ustaw liczbę rekordów większą niż 10, bo tyle wynosi per_page w formacie paginated. Tylko wtedy zobaczysz zachowanie drugiej i kolejnej strony zamiast jednej pełnej odpowiedzi.
  3. Włącz relację z użytkownikami. Pole userId przyjmie identyfikatory wygenerowane na liście użytkowników, więc pobranie zamówienia i użytkownika o zgodnym id da spójną parę danych.
  4. Wybierz format paginated. Otrzymasz kopertę w postaci data, total oraz page równe 1 i per_page równe 10. Liczba stron to total podzielone przez 10 zaokrąglone w górę; gdy total nie jest wielokrotnością 10, ostatnia strona zawiera mniej niż 10 rekordów.
  5. Sprawdź pole items[]. Każdy element tablicy ma własny zestaw pól, na przykład nazwę produktu i ilość, a nie odwołanie do indeksu spoza rekordu. Struktura zagnieżdżona jest gotowa do wstawienia w komponent listy.
  6. Skopiuj wynik i podmień źródło danych w kodzie. Ten sam plik wrzucasz jako db.json do json-server albo zwracasz w handlerze MSW, a aplikacja nie wymaga żadnych zmian poza adresem endpointu.

Typy pól i odpowiadające im generatory

Typ pola w schemacieCo podstawia generatorPostać wartości
stringlorem ipsum w wariancie PL lub ENciąg tekstowy o losowej długości
number z zakresemlosowa liczba z przedziału min i maxwartość między dolną i górną granicą
number dla cenykwota z groszamiliczba z dwoma miejscami po kropce w JSON
booleanlosowa wartość logicznatrue albo false
dateznacznik czasu ISO 8601RRRR-MM-DDThh:mm:ss
uuididentyfikator UUID w wersji 436 znaków w zapisie 8-4-4-4-12
enumlosowy wariant z podanej listyjedna z zadeklarowanych opcji
emailadres w formacie [email protected]login, małpa, domena

Praktyczne wskazówki przed wklejeniem danych do projektu

  • Trzymaj schemat blisko kontraktu API. Nazwy pól i ich typy przenieś z dokumentacji endpointu, którego jeszcze nie ma. Dzięki temu po podmianie mocka na prawdziwy backend nie trzeba poprawiać komponentów ani zapytań.
  • Ustaw liczbę rekordów większą niż per_page. Paginacja testowana na jednej stronie wyników niczego nie sprawdza. Dopiero druga strona pokazuje, czy klient poprawnie składa zapytanie i czy nie gubi rekordów z ostatniej, niepełnej strony.
  • Generuj rekordy zależne razem z nadrzędnymi. Zamówienie bez wygenerowanej listy użytkowników da klucze obce wskazujące na nic. Najpierw użytkownicy, potem zamówienia i pozycje w items[].
  • Do testów jednostkowych wybierz TypeScript interfaces. Typ wygenerowany z tego samego schematu co dane pozwala złapać rozjazd nazw pól już na etapie kompilacji, a nie dopiero w asercji.
  • Zapisz wynik w repozytorium. Kolejne uruchomienie generatora daje inny zestaw wartości. Jeśli testy mają być powtarzalne, korzystaj z zapisanego pliku, a nie z danych generowanych za każdym razem od nowa.

Ograniczenia i pułapki mocka

  • Brak logiki biznesowej. Generator nie sprawdza, czy suma pozycji w items[] zgadza się z polem total ani czy status jest zgodny z datą. Wartości są poprawne technicznie, ale nie muszą być sensowne jako całość.
  • Dane nie są rzeczywiste. Adresy e-mail, numery telefonu i współrzędne trafiają w format, ale nie odpowiadają istniejącym osobom ani miejscom. Nie używaj ich do korespondencji ani jako danych produkcyjnych.
  • Brak stanu po stronie serwera. Mock to plik, a nie aplikacja. Żądanie typu POST nie doda rekordu do zbioru, a kolejne pobranie zwróci dokładnie tę samą zawartość, którą wygenerowałeś.
  • Relacje są jednostronne. Klucz obcy w zamówieniu wskazuje użytkownika, ale nie tworzy automatycznie zagnieżdżonej odpowiedzi po jego stronie. Taki widok uzyskasz tylko przy formacie nested.
  • Powtarzalność zależy od Ciebie. Bez skopiowania wyniku nie ma sposobu na odtworzenie identycznych rekordów przy następnym uruchomieniu, co utrudnia porównywanie wyników testów między gałęziami.

Najczęstsze pytania

Czym różni się od JSONPlaceholder?

JSONPlaceholder (jsonplaceholder.typicode.com) to publiczny serwer z gotowymi endpointami (ale stałymi danymi). To narzędzie: generuje nowe dane lokalnie, obsługuje własne schematy, nie wymaga internetu, dane można pobrać i używać offline.

Jak używać mock JSON z React?

import data from "./users.json". Lub: const [users, setUsers] = useState([]); useEffect(()=>fetch("/api/users").then(r=>r.json()).then(setUsers),[]). Z MSW: serwer przechwytuje /api/users i zwraca wygenerowany JSON.

Ile rekordów można wygenerować?

Narzędzie generuje do 10 000 rekordów w przeglądarce (JavaScript). Dla większych zestawów danych: pobierz i użyj node-generate-data lub Faker.js w skrypcie Node.

Czy dane są losowe przy każdym odświeżeniu?

Domyślnie tak. Możesz ustawić seed (ziarno) dla powtarzalnych danych – przydatne gdy chcesz te same dane w testach. Seed determinuje kolejność i wartości pseudolosowego generatora (Mersenne Twister).

Jak generować zagnieżdżone relacje (user → orders)?

W interfejsie wybierz schemat "Users with Orders". Lub ręcznie: zdefiniuj pole orders jako array[Order]. Narzędzie generuje spójne relacje (userId w zamówieniach pasuje do id użytkowników).

Jak zrobić mock API bez backendu na potrzeby frontendu?

Wygeneruj plik JSON z wybranym schematem i liczbą rekordów, a następnie podaj go jako źródło danych w narzędziu takim jak json-server albo zwróć go w handlerze MSW. Frontend widzi wtedy zwykłe odpowiedzi HTTP i nie wymaga żadnych zmian w momencie podłączenia prawdziwego API.

Czy generator obsługuje relacje między rekordami?

Tak, przy generowaniu zamówień pole userId wskazuje identyfikatory z listy użytkowników powstałej w tym samym przebiegu. Zależność działa jednak tylko w tę stronę, dlatego widok użytkownika z jego zamówieniami wymaga dodatkowo formatu nested.

Jak podłączyć wygenerowany plik do json-server?

Zapisz wynik jako db.json, a potem uruchom json-server na tym pliku. Każdy klucz najwyższego poziomu staje się osobnym zasobem REST dostępnym pod własnym adresem.

Czym różni się NDJSON od zwykłej tablicy JSON?

W zwykłej tablicy rekordy są elementami jednej struktury, którą trzeba wczytać w całości. NDJSON zapisuje każdy rekord w osobnej linii, więc można przetwarzać dane strumieniowo, linia po linii, co dobrze sprawdza się przy logach i dużych zbiorach.

Czy dane z generatora nadają się do testów automatycznych?

Tak, jako dane wejściowe dla testów komponentów i funkcji przetwarzających odpowiedź z API. Pamiętaj jednak, że każdy przebieg daje inne wartości, więc dla powtarzalnych asercji zapisz wygenerowany plik w repozytorium zamiast generować go w trakcie testu.

Powiązane narzędzia: walidator JSON, konwerter JSON na CSV i konwerter cURL na Fetch API.

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!