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
Serialisatie
Python biedt ingebouwde JSON-bibliotheken om JSON te coderen en decoderen.
In Python 2.5 wordt de simplejson-module gebruikt, terwijl in Python 2.7 de json-module wordt gebruikt. Aangezien deze interpreter Python 2.7 gebruikt, zullen we json gebruiken.
Om de json-module te gebruiken, moet deze eerst worden geïmporteerd:
Er zijn twee basisindelingen voor JSON-gegevens: ofwel als een string of als de object datastructuur. De object datastructuur, in Python, bestaat uit lijsten en woordenboeken die in elkaar genest zijn. De object datastructuur maakt het mogelijk om Python-methoden (voor lijsten en woordenboeken) te gebruiken om elementen toe te voegen, op te sommen, te zoeken en te verwijderen uit de datastructuur. Het stringformaat wordt voornamelijk gebruikt om de gegevens naar een ander programma door te geven of in te laden in een datastructuur.
Om JSON terug te laden naar een datastructuur, gebruik de methode "loads". Deze methode neemt een string en zet deze terug om in de json-object datastructuur:
Om een datastructuur naar JSON te coderen, gebruik de methode "dumps". Deze methode neemt een object en retourneert een string:
Python ondersteunt een eigen Python data serialisatiemethode genaamd pickle (en een snellere alternatieve genaamd cPickle).
Je kunt het op exact dezelfde manier gebruiken.
Het doel van deze oefening is om de JSON-string af te drukken met het key-value paar "Me" : 800 eraan toegevoegd.
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!