如何使用python在JSON中提取特定的多个值?

时间:2015-10-23 17:50:23

标签: python json api python-3.x

我必须提取特定的多个值,并在可能的情况下将这些特定值打印在文件中。

我尝试了以下代码来执行此操作

JSON value from URL is: 
{'data': [{'value': '0.0.0.0'}, {'value': '0.0.0.1'}, {'value': '0.0.0.2'}]}

import requests
import json
url = 'https://www.example.com'
response = requests.get('url', headers=headers , verify=False)  
json_data = json.loads(response.text)
value = json_data['data'][0]['value']
print (value)

output of this : 0.0.0.0

但我想在文件(.txt)中打印所有这些值,如下所示:

0.0.0.0
0.0.0.1
0.0.0.3

请帮我解决这个问题。

2 个答案:

答案 0 :(得分:0)

你想要的是一个循环

json_data = {'data': [{'value': '0.0.0.0'}, {'value': '0.0.0.1'}, {'value': '0.0.0.2'}]}

for x in json_data['data']:
  print (x['value'])

答案 1 :(得分:0)

要将值写入文件,请展开@ ergonaut的答案,如下所示:

json_data = {'data': [{'value': '0.0.0.0'}, {'value': '0.0.0.1'}, {'value': '0.0.0.2'}]}
with open("test.txt", "w") as f:
    for x in json_data['data']:
        f.write(x['value'] + '\n')

测试test.txt中的条目:

with open("test.txt", "r") as f:
    data = f.readlines()
for line in data:
    print line.rstrip('\n')

输出: 0.0.0.0 0.0.0.1 0.0.0.2