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

Sérialisation


Python fournit des bibliothèques JSON intégrées pour encoder et décoder JSON.

En Python 2.5, le module simplejson est utilisé, tandis qu'en Python 2.7, le module json est utilisé. Puisque cet interpréteur utilise Python 2.7, nous utiliserons json.

Pour utiliser le module json, il doit d'abord être importé :

import json

Il existe deux formats de base pour les données JSON. Soit sous forme de chaîne, soit sous forme de structure de données. La structure de données, en Python, consiste en des listes et des dictionnaires imbriqués les uns dans les autres. La structure de données permet d'utiliser les méthodes python (pour les listes et les dictionnaires) pour ajouter, lister, rechercher et supprimer des éléments de la structure de données. Le format de chaîne est principalement utilisé pour transmettre les données à un autre programme ou les charger dans une structure de données.

Pour charger JSON dans une structure de données, utilisez la méthode "loads". Cette méthode prend une chaîne et la transforme en structure de données d'objet json :

import json 
print(json.loads(json_string))

Pour encoder une structure de données en JSON, utilisez la méthode "dumps". Cette méthode prend un objet et renvoie une chaîne :

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

Python prend en charge une méthode de sérialisation de données propriétaire appelée pickle (et une alternative plus rapide appelée cPickle).

Vous pouvez l'utiliser exactement de la même manière.

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

L'objectif de cet exercice est d'afficher la chaîne JSON avec la paire clé-valeur "Me" : 800 ajoutée à celle-ci.

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