Comment rendre une classe Python JSON sérialisable
La sérialisation est le processus de conversion d'un objet dans un format qui peut être stocké ou transmis. JSON (JavaScript Object Notation) est un format de données populaire utilisé pour transmettre des données entre applications.
Pour sérialiser une classe Python en JSON, vous devez implémenter le dict méthode spéciale. dict renvoie un dictionnaire qui contient les attributs de l'objet. Vous pouvez ensuite utiliser la fonction json.dumps() pour sérialiser le dictionnaire en JSON.
Par exemple :
class FileItem: def __init__(self, fname): self.fname = fname
Pour sérialiser la classe FileItem en JSON, vous pouvez implémenter la méthode spéciale dict comme suit :
class FileItem: def __init__(self, fname): self.fname = fname def __dict__(self): return {'fname': self.fname}
Vous pouvez ensuite utiliser la fonction json.dumps() pour sérialiser l'objet FileItem en JSON :
import json x = FileItem('/foo/bar') json_data = json.dumps(x, default=lambda o: o.__dict__)
Le par défaut =lambda o: o.__dict__ l'argument est requis car le FileItem la classe n’est pas nativement sérialisable en JSON. Cet argument indique à la fonction json.dumps() d'appeler la méthode dict de l'objet avant de le sérialiser.
Les données JSON résultantes seront :
{"fname": "/foo/bar"}
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!