Я создаю приложение, которое позволит вам либо войти в систему, либо создать ресторан. Как владелец ресторана, вы можете добавлять/удалять/редактировать холодильники. Моя конечная цель состоит в том, чтобы у меня был список ресторанов, которые я бы записал в файл JSON, и в любое время, когда я перезапускаю приложение, я могу получить эти данные и имитировать "быть владельцем ресторана" и редактировать холодильники для выбранного ресторана.
Я, по сути, хочу этого:
data = {
restaurants: [
{
restaurant: {
name: "Peppy",
pw: "123",
fridges: [
{
fridge: {
owner: restaurant.name,
contents: []
}
}
]
}
}
]
}
У меня есть следующие два класса(с указанием соответствующих методов):
class Restaurant:
def __init__(self, owner, password):
self.__password = password
self.owner = owner
self.__owned_fridges = [] # list of owned fridges
def add_fridge(self):
nickname = input("What would you like to name the fridge: ")
self.__owned_fridges.append(fr(self.owner, nickname))
print("Fridge added!")
class Fridge:
def __init__(self, owner, nickname):
self.nickname = nickname
self.owner = owner
self.__authorized_users = [owner]
self.__contents = []
def add_to_fridge(self):
if len(self.__contents) == 5:
print("Your fridge is full!")
else:
item = input("What would you like to add : ")
self.__contents.append(item)
Моя проблема заключается в сериализации этого для JSON. Я обнаружил, что следующее работает для сериализации объекта ресторана в JSON, но не вложенных объектов холодильника :
data = {
'restaurants': []
}
# Testing code
test = res("Jac", "350b534")
test.add_fridge()
test.add_fridge()
data['restaurants'].append(json.dumps(test.__dict__))
Я относительно новичок в python, и у меня есть опыт работы в js, поэтому я все еще знакомлюсь с синтаксисом. Мой вопрос в том, как мне сериализовать внутренний список холодильников?