Comment utiliser le module json pour convertir des chaînes JSON en objets Python dans Python 2.x

王林
Libérer: 2023-07-29 20:40:55
original
1138 Les gens l'ont consulté

Comment utiliser le module json dans Python 2.x pour convertir des chaînes JSON en objets Python

JSON (JavaScript Object Notation) est un format d'échange de données léger couramment utilisé pour transférer des données d'une application à un autre programme. En Python, vous pouvez utiliser le module json pour traiter les données JSON. Cet article montrera comment utiliser le module json pour convertir une chaîne JSON en un objet Python.

Tout d'abord, nous devons importer le module json :

import json
Copier après la connexion

Ensuite, supposons que nous ayons la chaîne JSON suivante :

json_str = '{"name": "Alice", "age": 25, "city": "New York"}'
Copier après la connexion

Maintenant, nous voulons convertir cette chaîne JSON en un objet Python. Vous pouvez utiliser la fonctionloads() du module json pour y parvenir :

python_obj = json.loads(json_str)
Copier après la connexion

De cette façon, les données de json_str sont converties en un objet dictionnaire Python. Nous pouvons obtenir la valeur correspondante en accédant à la clé du dictionnaire :

print(python_obj["name"])  # 输出:Alice
print(python_obj["age"])  # 输出:25
print(python_obj["city"])  # 输出:New York
Copier après la connexion

En plus de convertir les chaînes JSON en objets dictionnaire, le module json peut également convertir les chaînes JSON en d'autres objets Python, tels que des listes, des chaînes, etc.

Si la chaîne JSON représente une liste, vous pouvez utiliser la fonctionloads() du module json pour la convertir en un objet liste Python. Par exemple :

json_str = '[1, 2, 3, 4, 5]'
python_obj = json.loads(json_str)
print(python_obj)  # 输出:[1, 2, 3, 4, 5]
Copier après la connexion

Si la chaîne JSON représente une chaîne, vous pouvez utiliser la fonctionloads() du module json pour la convertir en un objet chaîne Python. Par exemple :

json_str = '"Hello, World!"'
python_obj = json.loads(json_str)
print(python_obj)  # 输出:Hello, World!
Copier après la connexion

Il convient de noter que la clé et la chaîne de la chaîne JSON doivent être placées entre guillemets doubles. Si elle est placée entre guillemets simples, une exception JSONDecodeError se produira.

De plus, si la chaîne JSON contient des nombres à virgule flottante, des valeurs booléennes et d'autres types, le module json les convertira automatiquement en objets Python correspondants. Par exemple :

json_str = '{"price": 9.99, "is_available": true}'
python_obj = json.loads(json_str)
print(python_obj["price"])  # 输出:9.99
print(python_obj["is_available"])  # 输出:True
Copier après la connexion

Bien sûr, nous pouvons également convertir la chaîne JSON en un objet de classe Python personnalisé. Définissez simplement une classe correspondant à une chaîne JSON et implémentez la méthode from_json() dans la classe pour construire l'objet. Voici un exemple :

class Person(object):
    def __init__(self, name, age, city):
        self.name = name
        self.age = age
        self.city = city
    
    @classmethod
    def from_json(cls, json_str):
        python_obj = json.loads(json_str)
        return cls(python_obj["name"], python_obj["age"], python_obj["city"])
    
    def __repr__(self):
        return "Person(name={}, age={}, city={})".format(self.name, self.age, self.city)

json_str = '{"name": "Bob", "age": 30, "city": "London"}'
person = Person.from_json(json_str)
print(person)  # 输出:Person(name=Bob, age=30, city=London)
Copier après la connexion

En implémentant la méthode from_json(), nous pouvons personnaliser la logique de conversion des chaînes JSON en objets Python.

Ce qui précède explique comment utiliser le module json pour convertir des chaînes JSON en objets Python dans Python 2.x. De cette manière, nous pouvons facilement extraire et traiter les données JSON pour les adapter à un plus large éventail de scénarios d'application.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!