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

Serialisering


Python gir innebygde JSON-biblioteker for å kode og dekode JSON.

I Python 2.5 brukes "simplejson"-modulen, mens i Python 2.7 brukes "json"-modulen. Siden denne tolken bruker Python 2.7, vil vi bruke json.

For å bruke "json"-modulen må den først importeres:

import json

Det finnes to grunnleggende formater for JSON-data. Enten i en streng eller som objekt-datastruktur. Objekt-datastrukturen, i Python, består av lister og ordbøker som er nestet inni hverandre. Objekt-datastrukturen lar en bruke python-metoder (for lister og ordbøker) for å legge til, liste, søke og fjerne elementer fra datastrukturen. Strengformatet brukes hovedsakelig for å sende data til et annet program eller laste inn i en datastruktur.

For å laste JSON tilbake til en datastruktur, bruk "loads"-metoden. Denne metoden tar en streng og gjør den tilbake til json objekt-datastrukturen:

import json 
print(json.loads(json_string))

For å kode en datastruktur til JSON, bruk "dumps"-metoden. Denne metoden tar et objekt og returnerer en streng:

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

Python støtter en Python proprietær dataserialiseringsmetode kalt pickle (og et raskere alternativ kalt cPickle).

Du kan bruke den på nøyaktig samme måte.

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

Målet med denne øvelsen er å skrive ut JSON-strengen med nøkkel-verdi paret "Me" : 800 lagt til.

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