Python 字典 "没有属性 '__getitem__
我刚接触Python,找不到这个问题的答案。我想用字典像其他语言中的哈希表或关联数组,不知道这样做是否正确。
现在我在做:
data['person'] = {'birthday': '01-01-1980'}
补充说明:data
是通过 json.loads(response.text)
返回的一个 dict
这段代码抛出了一个 object has no attribute '__getitem__'
的错误。查了一下StackOverflow,发现我需要从我的unicode方法返回一个字符串,但这些只是普通的字典,没有什么特别的。
Python版本是v2.7.4
Request Method: GET
Request URL: http://localhost:8000/url/returning/json
Django Version: 1.5.2
Exception Type: TypeError
Exception Value:
'Person' object has no attribute '__getitem__'
Exception Location: /path/to/error/file in next_work_item, line 356
Python Executable: /path/to/project/.venv/bin/python
Python Path:
['/path/to/project/',
'/opt/pycharm-3.1.1/helpers/pydev',
'/path/to/project/.venv/local/lib/python2.7/site-packages/distribute-0.7.3-py2.7.egg',
'/path/to/project/.venv/lib/python2.7/site-packages/distribute-0.7.3-py2.7.egg',
'/path/to/project/',
'/path/to/project/.venv/lib/python2.7',
'/path/to/project/.venv/lib/python2.7/plat-x86_64-linux-gnu',
'/path/to/project/.venv/lib/python2.7/lib-tk',
'/path/to/project/.venv/lib/python2.7/lib-old',
'/path/to/project/.venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/path/to/project/.venv/local/lib/python2.7/site-packages',
'/path/to/project/.venv/lib/python2.7/site-packages',
'/path/to/project/.venv/local/lib/python2.7/site-packages/IPython/extensions',
'/path/to/project/sub/project,
'/path/to/project/sub']
1 个回答
1
这个代码运行得很好:
#!/usr/local/cpython-2.7/bin/python
data = {}
data['person'] = {'birthday': '01-01-1980'}
...所以在你的情况下,数据可能不是一个字典。提供一个简单的可重复示例可能会有所帮助。