Original article: Python JSON – How to Convert a String to JSON
Dans ce tutoriel, vous apprendrez les bases de JSON - ce qu'il est, où il est le plus couramment utilisé et sa syntaxe.
Vous verrez également comment convertir une chaîne de caractères en JSON en Python.
C'est parti !
Qu'est-ce que le JSON ?
JSON est l'abréviation de JavaScript Object Notation.
Il s'agit d'un format de données utilisé pour le stockage et le transfert d'informations pour les applications Web.
JSON a été inspiré par le langage de programmation JavaScript, mais il n'est pas lié à un seul langage.
La plupart des langages de programmation modernes disposent de bibliothèques permettant d'analyser et de générer des données JSON.
Où est utilisé JSON ?
JSON est principalement utilisé pour envoyer et recevoir des données entre un serveur et un client, où le client est une page web ou une application web.
Il s'agit d'un format beaucoup plus solide à utiliser pendant le cycle requête-réponse que les applications Web utilisent lorsqu'elles se connectent sur un réseau. Il est comparé au XML, compliqué et moins compact, qui était le format de prédilection il y a quelques années.
Syntaxe de base du JSON
En JSON, les données sont écrites dans des paires clé-valeur, comme ceci :
"first_name": "Katie"
Les données sont placées entre guillemets et la paire clé-valeur est séparée par deux points.
Il peut y avoir plus d'une paire clé-valeur et chacune d'elles est séparée par une virgule :
"first_name": "Katie", "last_name": "Rodgers"
L'exemple ci-dessus montrait un objet, une collection de plusieurs paires clé-valeur.
Les objets sont à l'intérieur des accolades :
{
"first_name": "Katie",
"last_name": "Rodgers"
}
Vous pouvez également créer des tableaux, une liste ordonnée de valeurs, avec JSON. Dans ce cas, les tableaux sont contenus entre crochets :
[
{
"first_name": "Katie",
"last_name": "Rodgers"
},
{
"first_name": "Naomi",
"last_name": "Green"
},
]
// ou:
{
"employee": [
{
"first_name": "Katie",
"last_name": "Rodgers"
},
{
"first_name": "Naomi",
"last_name": "Green"
},
]
}
//Ceci a créé un objet 'employee' qui a 2 enregistrements.
// Il définit le prénom et le nom de famille d'un employé.
Comment travailler avec des données JSON en Python ?
Inclure le module JSON pour Python
Pour utiliser JSON avec Python, vous devez d'abord inclure le module JSON en tête de votre fichier Python. Ce module est intégré à Python et fait partie de la bibliothèque standard.
Supposons donc que vous ayez un fichier nommé demo.py. En haut du fichier, vous devez ajouter la ligne suivante :
import json
Utilisez la fonction json.loads()
Si vous avez des données de type chaîne de caractères JSON dans votre programme, par exemple :
#inclure la bibliothèque json
import json
#données en chaîne json
employee_string = '{"first_name": "Michael", "last_name": "Rodgers", "department": "Marketing"}'
#vérifier le type de données avec la méthode type()
print(type(employee_string))
#sortie
#<class 'str'>
vous pouvez le transformer en JSON en Python à l'aide de la fonction json.loads()
.
La fonction json.loads()
accepte en entrée une chaîne de caractères valide et la convertit en un dictionnaire Python.
Ce processus est appelé désérialisation, c'est-à-dire la conversion d'une chaîne de caractères en un objet.
#inclure la bibliothèque json
import json
#données en chaîne json
employee_string = '{"first_name": "Michael", "last_name": "Rodgers", "department": "Marketing"}'
#vérifier le type de données avec la méthode type()
print(type(employee_string))
#convertir la chaîne en objet
json_object = json.loads(employee_string)
#vérifier le nouveau type de données
print(type(json_object))
#sortie
#<class 'dict'>
Vous pouvez ensuite accéder à chaque élément individuel, comme vous le feriez en utilisant un dictionnaire Python :
#inclure la bibliothèque json
import json
#données en chaîne json
employee_string = '{"first_name": "Michael", "last_name": "Rodgers", "department": "Marketing"}'
#vérifier le type de données avec la méthode type()
print(type(employee_string))
#convertir la chaîne en objet
json_object = json.loads(employee_string)
#vérifier le nouveau type de données
print(type(json_object))
#sortie
#<class 'dict'>
#accéder à first_name dans le dictionnaire
print(json_object["first_name"])
#sortie
#Michael
Prenons un autre exemple :
- Prenez des données de type chaîne JSON :
import json
#données en chaîne json
employees_string = '''
{
"employees": [
{
"first_name": "Michael",
"last_name": "Rodgers",
"department": "Marketing"
},
{
"first_name": "Michelle",
"last_name": "Williams",
"department": "Engineering"
}
]
}
'''
#vérifier le type de données avec la méthode type()
print(type(employees_string))
#sortie
#<class 'str'>
2. Utilisez la fonction json.loads()
pour convertir une chaîne de caractères en objet :
import json
emoloyees_string = '''
{
"employees" : [
{
"first_name": "Michael",
"last_name": "Rodgers",
"department": "Marketing"
},
{
"first_name": "Michelle",
"last_name": "Williams",
"department": "Engineering"
}
]
}
'''
data = json.loads(employees_string)
print(type(data))
#sortie
#<class 'dict'>
3. Accéder aux données:
import json
employees_string = '''
{
"employees" : [
{
"first_name": "Michael",
"last_name": "Rodgers",
"department": "Marketing"
},
{
"first_name": "Michelle",
"last_name": "Williams",
"department": "Engineering"
}
]
}
'''
data = json.loads(employees_string)
print(type(data))
#output
#<class 'dict'>
#access first_name
for employee in data["employees"]:
print(employee["first_name"])
#output
#Michael
#Michelle
Conclusion
Et voilà, vous connaissez maintenant les bases de l'utilisation de JSON en Python.
Si vous voulez en savoir plus sur Python, freeCodeCamp propose une certification Python qui vous emmène des fondamentaux tels que les variables, les boucles et les fonctions à des concepts plus avancés tels que les structures de données. À la fin, vous réaliserez également 5 projets.
Merci de votre lecture et bon apprentissage !