Get started learning Python with DataCamp's free Intro to Python tutorial. Learn Data Science by completing interactive coding challenges and watching videos by expert instructors. Start Now!

This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join 11 million other learners and get started learning Python for data science today!

Good news! You can save 25% off your Datacamp annual subscription with the code LEARNPYTHON23ALE25 - Click here to redeem your discount

Serializacja


Python udostępnia wbudowane biblioteki JSON do kodowania i dekodowania JSON.

W Pythonie 2.5 używany jest moduł simplejson, natomiast w Pythonie 2.7 używany jest moduł json. Ponieważ ten interpreter używa Pythona 2.7, będziemy używać json.

Aby użyć modułu json, należy go najpierw zaimportować:

import json

Istnieją dwa podstawowe formaty danych JSON. Albo w formie ciągu, albo struktury danych obiektowych. Struktura danych obiektowych w Pythonie składa się z list i słowników zagnieżdżonych w sobie nawzajem. Struktura danych obiektowych pozwala na korzystanie z metod Pythona (dla list i słowników) do dodawania, wyliczania, wyszukiwania i usuwania elementów ze struktury danych. Format String jest głównie używany do przekazywania danych do innego programu lub ładowania do struktury danych.

Aby załadować JSON z powrotem do struktury danych, użyj metody "loads". Ta metoda przyjmuje ciąg i zamienia go z powrotem na strukturę danych obiektowych JSON:

import json 
print(json.loads(json_string))

Aby zakodować strukturę danych do JSON, użyj metody "dumps". Ta metoda przyjmuje obiekt i zwraca ciąg:

import json
json_string = json.dumps([1, 2, 3, "a", "b", "c"])
print(json_string)

Python obsługuje własnościową metodę serializacji danych Pythona o nazwie pickle (oraz szybszą alternatywę zwaną cPickle).

Możesz go używać dokładnie w ten sam sposób.

import pickle
pickled_string = pickle.dumps([1, 2, 3, "a", "b", "c"])
print(pickle.loads(pickled_string))

Celem tego ćwiczenia jest wydrukowanie ciągu JSON z dodaną parą klucz-wartość "Me" : 800.

import json # fix this function, so it adds the given name # and salary pair to salaries_json, and return it def add_employee(salaries_json, name, salary): # Add your code here return salaries_json # test code salaries = '{"Alfred" : 300, "Jane" : 400 }' new_salaries = add_employee(salaries, "Me", 800) decoded_salaries = json.loads(new_salaries) print(decoded_salaries["Alfred"]) print(decoded_salaries["Jane"]) print(decoded_salaries["Me"]) import json # fix this function, so it adds the given name # and salary pair to salaries_json, and return it def add_employee(salaries_json, name, salary): salaries = json.loads(salaries_json) salaries[name] = salary return json.dumps(salaries) # test code salaries = '{"Alfred" : 300, "Jane" : 400 }' new_salaries = add_employee(salaries, "Me", 800) decoded_salaries = json.loads(new_salaries) print(decoded_salaries["Alfred"]) print(decoded_salaries["Jane"]) print(decoded_salaries["Me"]) test_output_contains("300") test_output_contains("400") test_output_contains("800") success_msg("Great work!")

This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join over a million other learners and get started learning Python for data science today!

Previous Tutorial Next Tutorial Take the Test
Copyright © learnpython.org. Read our Terms of Use and Privacy Policy