Jak sortować obiekty JSON w Pythonie

Jak sortować obiekty JSON w Pythonie
Plik JSON jest bardzo popularnym medium do wymiany danych między różnymi typami języków programowania. Jest to niezależny od języka format plików tekstowych, który przechowuje dane za pomocą tablicy i obiektu. Może przechowywać liczby, ciągi, boolean i inną tablicę lub obiekt jako treść. Obiekt JSON można sortować za pomocą wbudowanych funkcji Pythona, modułów i funkcji zdefiniowanych przez użytkownika. Różne sposoby sortowania obiektu JSON w Pythonie zostały wyjaśnione w tym samouczku.

Przykład-1: Sortuj obiekt JSON za pomocą JSON.depresja()

Za pomocą JSON.depresja() Funkcja to jeden ze sposobów sortowania obiektu JSON. Służy do konwersji tablicy obiektów JSON na posortowany obiekt JSON. Wartość argumentu sort_keys funkcji zrzutów () będzie wymagała ustawienia true w celu wygenerowania sortowanych obiektów JSON z tablicy obiektów JSON. Utwórz plik Pythona z następującym skryptem Sortuj obiekty JSON za pomocą JSON.Funkcja zrzutów (). Zarówno oryginalne, jak i sortowane obiekty JSON zostaną wydrukowane po wykonaniu skryptu.

# Zaimportuj moduł JSON
Importuj JSON
# Tablica obiektów JSON
produkty = [„name”: „hdd”, „marka”: „samsung”, „cena”: 100,
„Nazwa”: „Monitor”, „marka”: „Dell”, „Cena”: 120,
„Nazwa”: „Mysz”, „marka”: „logitech”, „cena”: 10]
# Przeczytaj i wydrukuj oryginalne dane
drukuj („Oryginalne dane: \ n 0”.format (produkty))
# Przekształć na obiekt JSON po sortowaniu
sorted_json_data = JSON.zrzuty (produkty, sort_keys = true)
# Wydrukuj posortowane dane JSON
Drukuj („Sortowane dane JSON oparte na klawiszach: \ n 0”.format (sorted_json_data))

Wyjście:

Następujące dane wyjściowe pojawi się po wykonaniu skryptu. Każdy obiekt JSON zawiera trzy pary wartości kluczowej w tablicy JSON. Wartości obiektów posortowano na podstawie kluczy w wyjściu. Zgodnie z kluczową wartością kluczem do marki pojawił się pierwszy, a klucz cenowy pojawił się ostatni na podstawie tego rodzaju.

Przykład-2: Sortuj obiekt JSON za pomocą Lambda

Korzystanie z Lambda w funkcji sort () to kolejny sposób sortowania obiektów JSON. Utwórz plik Python z następującym skryptem, aby sortować obiekty JSON za pomocą sort () i funkcji Lambda. Klucz lub klucze można wymienić do sortowania, gdy lambda jest używana do sortowania. W poniższym skrypcie użyto tej samej tablicy obiektów JSON, który został użyty w poprzednim przykładzie. W obiektach JSON istnieją trzy klucze. To są nazwa, marka i cena. Klucz „marki” wspomniał w sort () dla klucza sortowania. Tak więc obiekty JSON będą sortowane na podstawie wartości klucza „marki”. Zarówno oryginalne wartości, jak i posortowane wartości zostaną wydrukowane jako wyjście.

# Tablica obiektów JSON
produkty = [„name”: „hdd”, „marka”: „Samsung”, „Price”: „100 USD”,
„Nazwa”: „Monitor”, „marka”: „Dell”, „Price”: „120 USD”,
„Nazwa”: „mysz”, „marka”: „logitech”, „cena”: „10 USD”]
# Wydrukuj oryginalne dane
drukuj („Oryginalne dane JSON: \ n 0”.format (produkty))
# Sortuj dane JSON na podstawie wartości klucza marki
produkty.sort (key = lambda x: x [„marka”])
# Wydrukuj posortowane dane JSON
Drukuj („Sortowane dane JSON na podstawie wartości marki: \ n 0”.format (produkty))

Wyjście:

Następujące dane wyjściowe pojawi się po wykonaniu skryptu. Trzy wartości marki zdefiniowane w skrypcie to Samsung, Dell i Logitech. Po sortowaniu obiekt zawierający produkt „Dell„Marka pojawiła się pierwsza, a obiekt zawierający”SAMSUNG„Marka pojawiła się ostatnia w wyjściu.

Przykład-3: Sortuj obiekt JSON za pomocą sortowanej funkcji

Utwórz plik Python z następującym skryptem, aby sortować obiekty JSON za pomocą pprint moduł i posortowane () funkcjonować. pprint Moduł jest importowany do skryptu, aby użyć funkcji pprint () do sformatowania wyjścia JSON. W skrypcie zadeklarowano szereg czterech obiektów JSON. Każdy obiekt zawiera trzy pary wartości kluczy. Klucze są nazwa, post, I e-mail. Nazwana funkcja zdefiniowana przez użytkownika sort_by_key () jest zadeklarowane do sortowania obiektów JSON na podstawie wartości 'nazwa' klucz. Ta funkcja jest wywoływana w posortowane () funkcja za pomocą wymienionego argumentu klucz. Po wykonaniu posortowane () Funkcja, obiekty JSON zostaną wydrukowane przez sortowanie obiektów na podstawie wartości klucza nazwy.

# Importuj moduł pprint
import pprint
# Tablica obiektów JSON
employe_list = [

„Imię”: „Firoz Shah”,
„Post”: „HR”,
„E -mail”: „księgowy”
,

„Imię”: „Aiyan Hasan”,
„Post”: „Sprzedaż”,
„E -mail”: „menedżer”
,

„Imię”: „Mahmuda feroz”,
„Post”: „Marketing”,
„E -mail”: „CEO”
]
# Wydrukuj oryginalną listę JSON
Drukuj („tablica obiektów JSON przed sortowaniem:”)
pprint.pprint (employme_list)
# Deklaruj funkcję, aby zwrócić posortowane dane na podstawie nazwy
def sort_by_key (lista):
Lista powrotna [„Nazwa”]
# Wydrukuj posortowaną listę JSON na podstawie klucza nazwy
Drukuj („\ Narray of Json obiektów po sortowaniu:”)
pprint.pprint (sortowany (pracownik_list, key = sort_by_key))

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu. Trzy wartości klucza nazwy zdefiniowane w skrypcie to „Firoz Shah”, „Aiyan Hasan” i „Mahmuda Feroz”. Po sortowaniu obiekt JSON zawierający „Aiyan Hasan” w kluczu nazwy pojawił się pierwszy, a obiekt JSON zawierający Mahmuda Feroz 'w klawiszu nazwy pojawił się ostatni w wyjściu.

Przykład-4: Sortuj obiekty JSON w kolejności malejącej

Obiekty JSON sortowały w kolejności rosnącej w poprzednich trzech przykładach. Sposób sortowania obiektu JSON w kolejności malejącej na podstawie konkretnej wartości kluczowej pokazano w tym przykładzie. Utwórz plik Pythona z następującym skryptem, który sortuje obiekty JSON w kolejności malejącej w oparciu o wartość klucza ceny.

import pprint
# Tablica obiektów JSON
produkty = [„name”: „hdd”, „marka”: „Samsung”, „Price”: „100 USD”,
„Nazwa”: „Monitor”, „marka”: „Dell”, „Price”: „120 USD”,
„Nazwa”: „mysz”, „marka”: „logitech”, „cena”: „10 USD”]
"
Wydrukuj posortowane obiekty JSON w kolejności malejącej
na podstawie wartości kluczowej ceny
"
Drukuj („\ Narray of Json obiektów po sortowaniu:”)
produkty = posortowane (produkty, key = lambda k: k ['cena'], odwrotna = true)
pprint.pprint ((produkty))

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu. Po sortowaniu obiektów JSON, obiekt zawierający najwyższą wartość cenową pojawił się pierwszy, a obiekt zawierający najniższą wartość cenową pojawił.

Wniosek:

W tym samouczku pokazano cztery różne sposoby sortowania obiektów JSON. Do sortowania obiektu JSON w kolejności rosnącej i zstępującej użyto funkcji sort (), sorted () i zrzutów (.