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

1

Wklej lub wczytaj

Wklej swój JSON do lewego edytora lub wczytaj plik. Użyj przycisku Przykład, aby załadować dane testowe.

2

Wyświetl posortowane wyjście

Prawy panel automatycznie wyświetla JSON z posortowanymi kluczami. Zagnieżdżone obiekty są sortowane rekurencyjnie.

3

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):

Wejście

Posortowane wyjście:

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.