mr-*_*-sk 0 python validation json dictionary data-cleaning
看起来很容易,但试图完成这件事却是脑抽筋。我有一个 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'}]
Run Code Online (Sandbox Code Playgroud)
或者
[{u'type': u'hello'}]
Run Code Online (Sandbox Code Playgroud)
我想处理该响应,检查键、数据等。我尝试从列表中创建 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'}
Run Code Online (Sandbox Code Playgroud)
我想要像 d[k] 这样的简单格式的数据,我可以在其中检查现有的键并获取它们的值。一本字典。如何正确格式化这些数据?
d["text"] -> would yield 'test ASDF'
etc
Run Code Online (Sandbox Code Playgroud)
TIA
您拥有的 JSON 对象是一个字典列表(至少一个),因此您只需获取列表的第一个元素。
d = a[0]
d['text']
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7458 次 |
最近记录: |