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

Serializace


Python poskytuje vestavěné knihovny JSON pro kódování a dekódování JSON.

V Pythonu 2.5 se používá modul simplejson, zatímco v Pythonu 2.7 se používá modul json. Protože tento interpret používá Python 2.7, budeme používat json.

Abychom mohli používat modul json, musíme jej nejprve importovat:

Existují dva základní formáty pro JSON data. Buď ve formě řetězce, nebo objektové datové struktury. Objektová datová struktura v Pythonu se skládá ze seznamů a slovníků vnořených do sebe navzájem. Objektová datová struktura umožňuje používat pythonové metody (pro seznamy a slovníky) k přidávání, zobrazování, vyhledávání a odstraňování prvků z datové struktury. Formát řetězce se používá především k přenosu dat do jiného programu nebo jejich načítání do datové struktury.

Pro načtení JSON zpět do datové struktury použijte metodu "loads". Tato metoda vezme řetězec a převede jej zpět do json objektové datové struktury:

Pro kódování datové struktury do JSON použijte metodu "dumps". Tato metoda vezme objekt a vrátí řetězec:

Python podporuje interní metodu serializace dat Pythonu nazvanou pickle (a rychlejší alternativu nazvanou cPickle).

Můžete ji použít naprosto stejným způsobem.

Cílem tohoto cvičení je vytisknout JSON řetězec s přidaným párem klíč-hodnota "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