Python tinydb - 如何获取特定的元素名称?

Python tinydb - How to get specific element name?

我的结构是这样的:

{'MovieName': 'Its-a-Wonderful-Life', 'Description': 'MovieDiscription', 'IMDBID': '0038650'}

我只想打印出 MovieName 元素。

我正在使用此代码获取它:

db = TinyDB('Databases/Downloaded_Movies.json')

for item in db:

   print(item.MovieName)

但我收到此错误:

 AttributeError: 'Document' object has no attribute 'MovieName'

如何修复代码?

TinyDB 需要索引的 table 文档,而不是列表。除非您想为 TinyDB 编写自定义中间件,否则您要么必须修改 JSON

"1 ": {'MovieName': 'Its-a-Wonderful-Life', 'Description': 'MovieDiscription', 'IMDBID': '0038650'}

或者您可以尝试打印索引为

的元素
import json
wjson = db.read()    
wjdata = json.loads(wjson)
print wjdata['1'][0]['Moviename']