Python クラスをシリアル化するために、VS Code で次のコードを実行しています。
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"}
VS CodeでPython 3を使用していることをすでに確認しました
ありがとう!