Сериализация экземпляра класса в JSON

Я пытаюсь создать строковое представление JSON экземпляра класса и с трудом. Допустим, класс построен следующим образом:

class testclass:
    value1 = "a"
    value2 = "b"

Вызов json.dumps выполняется следующим образом:

t = testclass()
json.dumps(t)

Он дает сбой и говорит мне, что тестовый класс не сериализуем JSON.

TypeError: <__main__.testclass object at 0x000000000227A400> is not JSON serializable

Я также пробовал использовать модуль pickle.:

t = testclass()
print(pickle.dumps(t, pickle.HIGHEST_PROTOCOL))

Он предоставляет информацию об экземпляре класса, но не сериализованное содержимое экземпляра класса.

b'\x80\x03c__main__\ntestclass\nq\x00)\x81q\x01}q\x02b.'

Что я делаю не так?

159
задан martineau 30 January 2018 в 01:47
поделиться