JSON oznacza notację obiektu JavaScript. Oznacza to, że do przechowywania i przesyłania danych służy plik skryptowy (wykonywalny) składający się z tekstu w języku programowania. Python obsługuje JSON poprzez wbudowany pakiet o nazwie JSON. Aby skorzystać z tej funkcjonalności importujemy pakiet JSON w skrypcie Python. Tekst w JSON jest wykonywany za pomocą cudzysłowu, który zawiera wartość w mapowaniu klucz-wartość {} . Jest podobny do słownika w Pyton .
Notatka: Aby uzyskać więcej informacji, zobacz Odczytuj, zapisuj i analizuj kod JSON przy użyciu języka Python
Metody używane do konwersji Pythona na JSON i pisania JSON
- Korzystanie z funkcji dump().
- Korzystanie z funkcji dump().
- Różnica między słownikiem a JSON
Konwertuj słownik Python na plik JSON za pomocą json.dump()
W tym programie skonwertujemy słownik Pythona na obiekt JSON, a następnie zapiszemy go w pliku. Najpierw importujemy moduł JSON, a następnie definiujemy słownik przechowujący dane ucznia. Teraz będziemy korzystać json.dump() metoda konwersji i zapisania obiektu JSON do pliku wraz z metoda open(). obsługi plików w Pythonie. Otwieramy plik sample.json w trybie zapisu, a następnie zapisujemy plik metodą json.dump() modułu JSON w Pythonie.
Pyton import json # Define student_details dictionary student_details ={ 'name' : 'sathiyajith', 'rollno' : 56, 'cgpa' : 8.6, 'phonenumber' : '9976770500' } # Convert and write JSON object to file with open('sample.json', 'w') as outfile: json.dump(student_details, outfile)>
Wyjście:
Konwertuj Pythona na obiekt JSON Korzystanie z funkcji dump().
W poniższym kodzie dokonamy konwersji pliku Słownik Pythona do obiektu JSON za pomocą json.dumps() metoda modułu JSON w Pythonie. W pierwszej kolejności importujemy moduł JSON, a następnie definiujemy słownik przechowujący dane pracowników. Następnie konwertujemy „szczegóły_pracownika” słownik do obiektu JSON przy użyciu metody json.dumps() i zapisany w zmiennej „json_obiekt”.
Pyton # import json module import json # define Python dictionary employee_details ={ 'id': '04', 'name': 'sunil', 'department': 'HR' } # Convert Python to JSON json_object = json.dumps(employee_details, indent = 4) # Print JSON object print(json_object)>
Wyjście
{ 'id': '04', 'name': 'sunil', 'department': 'HR' }>
Konwersja słownika zagnieżdżonego na JSON w Pythonie
W poniższym kodzie przekonwertujemy zagnieżdżony słownik na JSON w Pythonie. Najpierw importujemy moduł JSON, a następnie tworzymy zagnieżdżony słownik. Następnie konwertujemy zagnieżdżony słownik do formatu JSON za pomocą metody json.dumps(), przekazując w nim słowniki „person” i „indent=4” jako argumenty. Na koniec drukujemy przekonwertowany JSON.
Pyton import json # Create a nested dictionary person = { 'name': 'John Doe', 'age': 30, 'address': { 'street': '123 Main St', 'city': 'Anytown', 'state': 'CA' } } # Convert person dictionary to JSON json_string = json.dumps(person, indent=4) print(json_string)>
Wyjście
{ 'name': 'John Doe', 'age': 30, 'address': { 'street': '123 Main St', 'city': 'Anytown', 'state': 'CA' } }>
Konwertuj słownik na cytaty JSON
Poniższy kod przekonwertuje słownik Pythona na ciąg JSON z podwójnymi cudzysłowami wokół kluczy i wartości. Możemy to osiągnąć za pomocą funkcji json.dumps() z zapewnienia_ascii parametr ustawiony na „ FAŁSZ'.
Pyton
import json # Create a dictionary data = { 'name': 'Krishna', 'age': 30, 'city': 'Mathura' } # Convert the dictionary to a # JSON string with double quotes json_string = json.dumps(data, ensure_ascii=False) print(json_string)>
Wyjście
{'name': 'Krishna', 'age': 30, 'city': 'Mathura'}>
Konwertuj słownik na tablicę JSON w Pythonie
W poniższym kodzie przekonwertujemy słownik Pythona na tablicę JSON. Najpierw tworzymy przykładowe „dane” słownika, a następnie tworzymy listę słowników, korzystając ze zrozumienia list, aby iterować po kluczach słownika i przechowywać je w zmiennej „tablica”. Następnie przekonwertuj tablicę na tablicę JSON za pomocą funkcji json.dumps(), a następnie wydrukuj tablicę JSON.
Pyton import json # Create a dictionary data = { 'name': 'Krishna', 'Course': 'DSA', 'Batch': 'July_2023' } array = [{i: data[i]} for i in data] # Convert the dictionary into a JSON array json_array = json.dumps(array) print(json_array)>
Wyjście
[{'name': 'Krishna'}, {'Course': 'DSA'}, {'Batch': 'July_2023'}]>
Konwertuj słownik na JSON za pomocą sort_keys w Pythonie
W poniższym kodzie przekonwertujemy słownik Pythona za pomocą sortowania kluczy. Aby przekonwertować słownik Pythona na ciąg JSON z posortowanymi kluczami, musimy określić „ sort_keys’ parametr jako 'PRAWDA' W json.dumps() funkcjonować. Na wynikach widzimy, że dane są sortowane według kluczy.
Pyton import json # Create a dictionary with unsorted keys marks = { 'Binod': 49, 'Aparna': 71, 'Jaya': 83, 'Deepak': 89 } # Convert the dictionary to a # JSON string with sorted keys json_string = json.dumps(marks, sort_keys=True) print(json_string)>
Wyjście
{'Aparna': 71, 'Binod': 49, 'Deepak': 89, 'Jaya': 83}>
Różnica między słownikiem a JSON
Tak nie. | JSON | Słownik |
---|---|---|
1. | JSON (JavaScript Object Notation) to format wymiany danych używany do przechowywania i wymiany danych pomiędzy systemami. | Słownik w Pythonie to wbudowana struktura danych używana do przechowywania kolekcji par klucz-wartość. różnica między $ a $$ |
2. | Klucze JSON muszą być ciągami znaków i być ujęte w podwójne cudzysłowy. | Klucze słownikowe mogą należeć do różnych typów danych, w tym ciągów, liczb i krotek (typy niezmienne). |
3. | JSON ma ścisłą składnię, w której pary klucz-wartość są oddzielone dwukropkami (:) i pary oddzielone przecinkami (,). Nawiasy klamrowe {} otaczają obiekty JSON. | Słowniki języka Python używają nawiasów klamrowych {} do zamykania par klucz-wartość za pomocą dwukropków: oddzielających klucze i wartości. |
4. | Klucze JSON i wartości ciągów muszą być ujęte w podwójne cudzysłowy (np. klucz: wartość). | W słownikach Pythona klucze można podawać bez cudzysłowów (np. klucz: wartość), chociaż cudzysłowy są również dozwolone. |
5. | Np. {imię: Ram, wiek: 30} przycinanie a-b | Np. {imię: Shyam, wiek: 30} |
6. | Dostęp do wartości JSON uzyskuje się za pomocą kluczy w postaci ciągów znaków (np. dane[nazwa]). | Dostęp do wartości słownikowych uzyskuje się za pomocą kluczy (np. data[nazwa]) lub metody get(). |
7. | Dane JSON można zapisywać i ładować z plików za pomocą funkcji takich jak json.dump() i json.load(). | Słowniki Pythona można również serializować do plików przy użyciu różnych metod, ale logikę serializacji/deserializacji należy wykonać samodzielnie. |