例如,我有这个json响应:
response = '{"data" : {"next_Data" : { "actual_data" :["data1", "data2", "data3"]}}}'
在我通常的大量json方法中,我这样做:
import requests
for x in response.json()['data']['next_Data']:
print x['actual_data']
#Output
>>> 'data1'
>>> 'data2'
>>> 'data3'
现在我如何操纵代码来显示我想要的'actual_data'?例如,我希望第一条记录(在本例中为'data1')是唯一的记录提取..或者我希望第三个数据('data3')是唯一提取的...我会这样做吗?
非常感谢,
德鲁
答案 0 :(得分:0)
我将使用相同的问题为将来的访问者填写更多代码段。 (顺便说一句,你的代码片段不会打印你认为它会的内容。)它看起来像是:
import requests
response = requests.get('http://example.com')
actual_data = requests.json()['data']['next_Data']['actual_data']
for x in actual_data:
print x
# prints on separate lines data1, data2, data3
print actual_data
# prints ['data1', 'data2', 'data3']
print actual_data[0]
# prints data1
print actual_data[2]
# prints data3
print actual_data[1]
# prints data2
print actual_data[-1]
# prints data3
print actual_data[-2]
# prints data2
print actual_data[-3]
# prints data1
一旦你拥有了数组,这就是你如何访问你的数据数组(实际上是一个列表,就Python而言)。
您在上面描述的访问权限response.json()['data']['next_Data']
将返回{'actual_data': ['data1', 'data2', 'data3']}
并在该字典/哈希/对象上执行for循环将产生密钥:'actual_data'
并尝试x['actual_data']
会给你一个TypeError,因为索引应该是整数。