回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有以下代码。在LegoThemes“saveThemes()”类中,我进行了一次JSON转储,输出为一个.JSON文件——这非常有效(感谢另一个线程上的帮助!)。但是,当我实现LoadThemes()方法时,它当前只是将python加载到self.\uu主题中。然而,我想做的是为文件“themes.JSON”中的每个JSON条目创建一个LegoTheme对象</p>
<pre><code>import json
class LegoThemes:
def __init__(self):
self.__themes = []
self.loadThemes()
def saveThemes(self):
with open("themes.json", "w") as themesStorageFile:
json.dump([t.__dict__ for t in self.__themes], themesStorageFile, indent=4)
def loadThemes(self):
with open("themes.json") as themesStorageFile:
self.__themes = json.load(themesStorageFile)
def addTheme(self, theme):
self.__themes.append(theme)
self.saveThemes()
def getThemeTitlesList(self):
themeTitlesList = []
for theme in self.__themes:
print(theme)
class LegoTheme:
def __init__(self, title, description, thumbnailImage, logoImage, url):
self.__title = title
self.__description = description
self.__thumbnailImage = thumbnailImage
self.__logoImage = logoImage
self.__url = url
def getTitle(self):
return self.__title
legoThemes = LegoThemes()
print(legoThemes.getThemeTitlesList())
</code></pre>
<p>此外,为确保完整性,themes.json的内容包括:</p>
<pre><code>[
{
"_LegoTheme__title": "Title1",
"_LegoTheme__description": "Description1",
"_LegoTheme__thumbnailImage": "ThumbnailImage1",
"_LegoTheme__logoImage": "LogoImage1",
"_LegoTheme__url": "URL1"
},
{
"_LegoTheme__title": "Title2",
"_LegoTheme__description": "Description2",
"_LegoTheme__thumbnailImage": "ThumbnailImage2",
"_LegoTheme__logoImage": "LogoImage2",
"_LegoTheme__url": "URL2"
},
{
"_LegoTheme__title": "Title3",
"_LegoTheme__description": "Description3",
"_LegoTheme__thumbnailImage": "ThumbnailImage3",
"_LegoTheme__logoImage": "LogoImage3",
"_LegoTheme__url": "URL3"
}
]
</code></pre>