看起来很容易,但有一个braincramp试图完成这件事。我有一个API请求,它接收以下作为响应。
[{u'text': u'test ASDF', u'ts': u'1453578721.000005', u'user': u'U0K7P5EBG', u'team': u'T0K7K1KEH', u'type': u'message', u'channel': u'D0K7P9MCJ'}]
OR
[{u'type': u'hello'}]
我想处理该响应,检查密钥,数据等。我试图从列表中创建dict(),尝试加载为json()而我似乎无法获得将数据转换为易于处理的格式。
>>> a = [{u'text': u'test ASDF', u'ts': u'1453578721.000005', u'user': u'U0K7P5EBG', u'team': u'T0K7K1KEH', u'type': u'message', u'channel': u'D0K7P9MCJ'}]
>>> dict(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: dictionary update sequence element #0 has length 6; 2 is required
>>> a = [{u'text': u'test ASDF', u'ts': u'1453578721.000005', u'user': u'U0K7P5EBG', u'team': u'T0K7K1KEH', u'type': u'message', u'channel': u'D0K7P9MCJ'}]
>>> type(a)
<type 'list'>
>>> a[0]
{u'text': u'test ASDF', u'ts': u'1453578721.000005', u'user': u'U0K7P5EBG', u'team': u'T0K7K1KEH', u'type': u'message', u'channel': u'D0K7P9MCJ'}
我希望数据采用d [k]之类的简单格式,我可以检查现有的密钥并获取它们的值。一本字典。如何正确格式化这些数据?
d["text"] -> would yield 'test ASDF'
etc
TIA
答案 0 :(得分:4)
你拥有的JSON对象是一个字典列表(至少一个),所以你只需要抓住列表的第一个元素。
d = a[0]
d['text']
答案 1 :(得分:1)
你非常接近。这应该有效:
dict(a[0])