Как сериализовать класс Python с помощью jsonpickle? - PullRequest
0 голосов
/ 06 марта 2020

Я запускаю следующий код в VS Code для сериализации класса Python:

import json
import jsonpickle
import sys


class P_C(object):
    def __init__(self, name = "default name", items = None):
        self.name = name
        self.items = items 

    def get_name (self):
        return f"Name is: {self.name}"

    def get_items (self):
        return f"Items are: {self.items}"

    def get_name_items_dict (self):
        return dict (name = self.name, items = self.items )

p_c = P_C()

with open ("P_C.json", "w") as json_file:
    json_file.write (jsonpickle.encode(p_c))

Когда я запускаю этот код в VS Code, я получаю следующую ошибку:

AttributeError: module 'jsonpickle' has no attribute 'encode'

Однако, когда я запускаю точно такой же код на ноутбуке Jupyter, я получаю желаемый вывод, который находится внутри P_ C. json:

{"items": null, "name": "default name", "py/object": "__main__.P_C"}

Я уже проверил, что я используя Python 3 на VS Code

Спасибо!

...