访问加载的JSON对象的数据成员的能力不一致

giv*_*ivp 1 python django simplejson

我正在使用Django加载JSON字符串simplejson,因此:

obj = json.loads('{"name": "joe"}')
person = obj.name
Run Code Online (Sandbox Code Playgroud)

这会引发错误:

'dict' object has no attribute 'name'
Run Code Online (Sandbox Code Playgroud)

但是当我传递obj给视图模板并通过{{ obj.name }}它打印出来时,它可以工作!为什么?

Rud*_*ski 7

我不确定它的Django方面是如何工作的,但是你得到的对象json.loads是一个Python dict对象.这意味着它没有其键的属性,但您可以像访问任何其他字典一样访问它们:

obj = json.loads('{"name": "joe"}')
person = obj['name']
Run Code Online (Sandbox Code Playgroud)