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 tillhandahåller inbyggda JSON-bibliotek för att kodifiera och avkodifiera JSON.

I Python 2.5 används modulen simplejson, medan i Python 2.7 används modulen json. Eftersom denna tolk använder Python 2.7, kommer vi att använda json.

För att använda json-modulen måste den först importeras:

import json

Det finns två grundläggande format för JSON-data. Antingen i en sträng eller objektets datastruktur. Objektets datastruktur, i Python, består av listor och ordböcker inbäddade i varandra. Objektets datastruktur tillåter en att använda python-metoder (för listor och ordböcker) för att lägga till, lista, söka och ta bort element från datastrukturen. Strängformatet används främst för att överföra data till ett annat program eller laddas in i en datastruktur.

För att ladda JSON tillbaka till en datastruktur, använd "loads"-metoden. Denna metod tar en sträng och omvandlar den tillbaka till json objektets datastruktur:

import json 
print(json.loads(json_string))

För att kodifiera en datastruktur till JSON, använd "dumps"-metoden. Denna metod tar ett objekt och returnerar en Sträng:

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

Python stöder en egen dataserialiseringsmetod kallad pickle (och ett snabbare alternativ kallat cPickle).

Du kan använda den på exakt samma sätt.

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

Målet med denna övning är att skriva ut JSON-strängen med nyckel-värde-paret "Me" : 800 lagt till den.

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