JavaScript Object Notation (JSON) stał się standardowym formatem wymiany danych w sieci. Jest szeroko stosowany do przesyłania danych w aplikacjach internetowych, głównie dlatego, że jest łatwy do tworzenia i zrozumienia zarówno dla ludzi, jak i maszyn. Ale jak możemy obsługiwać ten format w Pythonie, który jest językiem dla naukowców zajmujących się danymi? W tym obszernym samouczku dowiemy się, jak odczytywać i analizować dane JSON w Pythonie.
Zrozumienie JSON
JSON to format tekstowy, który jest całkowicie niezależny od języka, ale wykorzystuje konwencje znane programistom języków z rodziny C, w tym C, C++, C#, Java, JavaScript, Perl, Python i wielu innych. Może reprezentować liczby, ciągi znaków, uporządkowane sekwencje wartości (tablice) i zbiory par nazwa-wartość (obiekty).
JSON vs XML
Przed popularnością JSON, XML (eXtensible Markup Language) był w dużej mierze używany do przechowywania i transportu danych. W przeciwieństwie do XML, JSON zapewnia prostszą, bardziej czytelną dla człowieka składnię wymiany danych. Oto kilka kluczowych różnic:
JSON | XML |
---|---|
Łatwy do czytania i pisania. | Mniej prosty w czytaniu i pisaniu. |
Parsowanie jest szybkie. | Parsowanie jest powolne. |
Dane są łatwo dostępne jako obiekty JSON. | Dane muszą zostać rozpakowane, aby mogły być używane jako obiekty. |
Obsługa macierzy. | Brak obsługi macierzy. |
Mniej gadatliwości. | Więcej gadatliwości. |
Python i JSON
Python ma wbudowany pakiet o nazwie json, który może być używany do pracy z danymi JSON. Jeśli masz ciąg JSON, możesz go przeanalizować za pomocą funkcji json.loads() method. Podobnie, jeśli masz obiekt Pythona, możesz przekonwertować go na ciąg JSON za pomocą metody json.dumps() metoda.
Odczytywanie danych JSON w Pythonie
Wbudowany w Pythonie json zapewnia funkcjonalność zarówno odczytu, jak i zapisu do plików JSON. Można użyć json.load() do odczytu pliku zawierającego obiekt JSON.
import json
with open('sample.json', 'r') as f:
data = json.load(f)
Ten fragment kodu otwiera plik sample.jsona obiekt JSON w pliku jest deserializowany do słownika Pythona, który jest przypisywany do zmiennej dane.
Parsowanie danych JSON w Pythonie
Moduł json Pythona ułatwia analizowanie danych JSON.
import json
json_string = '{"name": "John", "age": 30, "city": "New York"}'
python_dict = json.loads(json_string)
W tym przykładzie, json.loads() przyjmuje ciąg znaków jako dane wejściowe i zwraca słownik jako dane wyjściowe.
Zapisywanie danych JSON w Pythonie
Aby zapisać obiekt Pythona do pliku JSON, należy użyć json.dump().
import json
data = {
"name": "John",
"age": 30,
"city": "New York"
}
with open('output.json', 'w') as json_file:
json.dump(data, json_file)
W tym przykładzie słownik Pythona jest zapisany w pliku output.json.
Konwersja obiektów Pythona do JSON
Moduł json Pythona udostępnia funkcję json.dumps() do konwersji obiektów Pythona do formatu JSON. Proces ten nazywany jest serializacją.
import json
data = {
"name": "John",
"age": 30,
"city": "New York"
}
json_data = json.dumps(data)
Tutaj słownik Pythona dane jest serializowany do sformatowanego ciągu JSON przy użyciu funkcji json.dumps().
Przykład JSON i Python w świecie rzeczywistym
JSON jest szeroko stosowany w tworzeniu stron internetowych do wysyłania danych z klienta na serwer. Jest to podstawowy przykład tego, jak skrypt Pythona może być używany do wysyłania danych do serwera WWW w formacie JSON.
import json
import requests
data = {
"name": "John",
"age": 30,
"city": "New York"
}
headers = {"Content-Type": "application/json"}
response = requests.post("http://httpbin.org/post", headers=headers, data=json.dumps(data))
print(response.json())
To wszystko na temat odczytywania i analizowania danych JSON w Pythonie. Pamiętaj, że zrozumienie struktury danych JSON i sposobu manipulowania nimi za pomocą Pythona jest kluczową umiejętnością we współczesnym świecie sieci. Upewnij się więc, że ćwiczysz koncepcje omówione w tym samouczku, aby wygodnie obsługiwać dane JSON. Miłej nauki!
Komentarze (0)
Nie ma tu jeszcze żadnych komentarzy, możesz być pierwszy!