Giriş yapmanıza veya bir restoran oluşturmanıza izin verecek bir uygulama yapıyorum. Bir restoran sahibi olarak buzdolabı ekleyebilir/kaldırabilir/düzenleyebilirsiniz. Nihai hedefim, bir JSON dosyasına yazacağım Restoranların bir listesine sahip olmam ve uygulamayı her yeniden çalıştırdığımda bu verileri çekip "restoran sahibi olmayı" simüle edebilmem ve buzdolaplarını düzenleyebilmem. seçilen restoran için.
Aslında bunu istiyorum:
data = {
restaurants: [
{
restaurant: {
name: "Peppy",
pw: "123",
fridges: [
{
fridge: {
owner: restaurant.name,
contents: []
}
}
]
}
}
]
}
Aşağıdaki iki sınıfım var (ilgili yöntemleri gösteriyorum):
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)
Benim sorunum bunu JSON için seri hale getirmektir. Restoran nesnesini json'a seri hale getirmek için aşağıdakilerin çalıştığını, ancak iç içe geçmiş buzdolabı nesnelerini değil, aşağıdakileri buldum :
data = {
'restaurants': []
}
# Testing code
test = res("Jac", "350b534")
test.add_fridge()
test.add_fridge()
data['restaurants'].append(json.dumps(test.__dict__))
Python'da nispeten yeniyim ve bir js arka planından geliyorum, bu yüzden hala sözdizimine aşina oluyorum. Sorum şu, buzdolaplarının iç listesini nasıl seri hale getirebilirim?