【问题标题】:Python 3. Extract data from jsonPython 3. 从 json 中提取数据
【发布时间】:2015-12-14 19:27:27
【问题描述】:
如何提取41677?
我的 json:
{"41677":{"key":"ilya","premium":"true"}}
我的代码:
params={"id": "ilya", "fmt": "json"}
r=requests.get("somesite", params=params )
data=json.loads(r.text)
【问题讨论】:
标签:
python
json
python-3.x
【解决方案1】:
通过使用loads,您的 JSON 字符串将被转换为将键映射到值的字典。
由于您需要密钥41677,您只需调用data.keys()[0] 即可检索字典的第一个密钥。
编辑:
此外,如果您有该 JSON 结构的列表,则可以使用 items 函数迭代键和值,如下所示:
for key, value in data.items():
print key # 41677
print value # {"key":"ilya","premium":"true"}
【解决方案2】:
通过使用 Requests 的内置 json 属性:
data = requests.get("somesite", params=params ).json().keys()[0]
假设它返回的 json 是 {"41677":{"key":"ilya","premium":"true"}}:
>>>print data
"41677"
【解决方案3】:
import json
s = {"41677":{"key":"ilya","premium":"true"}}
d = json.dumps(s)
l = json.loads(d)
l.keys()