So machen Sie eine JSON-Klasse serialisierbar

Um eine Klasse in Python JSON-serialisierbar zu machen, müssen Sie zwei Methoden definieren: __init__ und to_json. Die Methode __init__ wird verwendet, um das Objekt zu initialisieren, und die Methode to_json sollte eine Dictionary-Darstellung des Objekts zurückgeben, die in JSON konvertiert werden kann.

Hier ist ein Beispiel für eine grundlegende Klasse, die JSON-serialisierbar ist:

import json

class MyClass:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def to_json(self):
        return {
            'name': self.name,
            'age': self.age
        }

# Create an instance of the class
obj = MyClass('John', 30)

# Convert the object to a JSON string
json_str = json.dumps(obj.to_json())

# Print the JSON string
print(json_str)

In diesem Beispiel gibt to_json ein Dictionary zurück, das die Schlüssel 'name' und 'age' und die Werte hat, die die Attribute des Objekts sind. Die Funktion json.dumps() wird dann verwendet, um das Dictionary in einen JSON-String zu konvertieren.

Sie können auch die jsonpickle-Bibliothek verwenden, um es einfacher zu machen,

import jsonpickle

class MyClass:
    def __init__(self, name, age):
        self.name = name
        self.age = age

# Create an instance of the class
obj = MyClass('John', 30)

# Convert the object to a JSON string
json_str = jsonpickle.encode(obj)

# Print the JSON string
print(json_str)

Auf diese Weise müssen Sie die to_json-Methode in Ihrer Klasse nicht definieren und die Instanz Ihrer Klasse wird automatisch in json konvertiert.