Sortowanie JSON
Sortuj klucze obiektów JSON alfabetycznie
Wejście
Posortowane wyjście
Czym jest sortowanie JSON?
Widziałeś kiedyś pull request, gdzie połowa różnic to po prostu przestawione klucze JSON? Irytujące. Klucze obiektów JSON nie mają zdefiniowanej kolejności — specyfikacja RFC 8259 tego nie gwarantuje, a parsery mogą zwracać je w dowolnej kolejności. Sortowanie alfabetyczne sprawia, że git diffy są czytelniejsze, haszowanie deterministyczne, a generowane dane wyjściowe powtarzalne.
Sortowanie odbywa się w Twojej przeglądarce. Nic nie jest wysyłane na serwer. Wyjście to prawidłowy JSON z tą samą strukturą i wartościami co dane wejściowe, z ponownie uporządkowanymi kluczami.
Jak używać tego narzędzia
Wklej lub wczytaj
Wklej swój JSON do lewego edytora lub wczytaj plik. Użyj przycisku Przykład, aby załadować dane testowe.
Wyświetl posortowane wyjście
Prawy panel automatycznie wyświetla JSON z posortowanymi kluczami. Zagnieżdżone obiekty są sortowane rekurencyjnie.
Kopiuj lub pobierz
Użyj Kopiuj lub Pobierz, aby uzyskać wynik. Aby formatować bez sortowania: Formater JSON, aby minifikować: Minifikator JSON.
Przykłady sortowania JSON
Przykład alfabetycznego sortowania kluczy obiektu JSON. Zagnieżdżone obiekty są sortowane rekurencyjnie.
Przykład: rekord abonenta z nieposortowanymi kluczami
Wejście (klucze w losowej kolejności):
Posortowane wyjście:
Kiedy ważna jest kolejność kluczy
Różnice git są czystsze z posortowanymi kluczami: zmiany nie gubią się między przestawionymi wierszami, lecz są widoczne. Niektóre systemy używają serializacji JSON do haszowania lub podpisywania; posortowane klucze czynią wyjście deterministycznym. W JavaScript, JSON.stringify nie gwarantuje kolejności kluczy. To narzędzie zapewnia spójne wyjście niezależnie od kolejności wejściowej.
Często zadawane pytania
Jak sortować klucze JSON w JavaScript?
Możesz użyć funkcji reviver z JSON.parse() lub rekurencyjnie zbudować nowy obiekt z posortowanymi kluczami przez Object.keys().sort(). To narzędzie robi to za Ciebie automatycznie — wklej JSON i od razu otrzymujesz posortowany wynik.
Czy sortowanie zmienia moje dane?
Nie. Zmienia się tylko kolejność kluczy. Wartości, typy i struktura JSON pozostają dokładnie takie same. Wynik jest semantycznie identyczny z wejściem.
Po co sortować klucze JSON?
Posortowane klucze czynią git diffy bardziej czytelne (prawdziwe zmiany wyróżniają się zamiast gubić się wśród przestawionych wierszy), sprawiają, że haszowanie JSON jest deterministyczne i zapewniają spójny wynik przy generowaniu plików konfiguracyjnych lub odpowiedzi API.
Czy tablice są też sortowane?
Nie. Tablice nigdy nie są sortowane — ich kolejność jest częścią danych. To narzędzie sortuje wyłącznie klucze obiektów JSON, nie elementy tablic.
Czy moje dane są wysyłane na serwer?
Nie. Całe sortowanie odbywa się lokalnie w Twojej przeglądarce. Żadne dane nie są przesyłane, przechowywane ani rejestrowane na serwerze.
Powiązane narzędzia
Aby zapoznać się ze składnią JSON, sprawdź RFC 8259 i MDN. Specyfikacja JSON na json.org definiuje format. Do przetwarzania z wiersza poleceń, jq obsługuje sortowanie. Git diff jest czystszy z posortowanymi kluczami. Zobacz też JSON.stringify(), Lodash sortBy, Postman.