我已经四处寻找并且没有看到任何可以覆盖我需要做的事情,所以如果我在搜索中错过了答案,请提前给我一个正确的链接,谢谢。简单地说,我想要做的就是从我正在调用的JSON对象列表中取两个值,并从列表中的每个对象中删除两个值,而不是整个键:value。
目前我的代码看起来像这样:
import json, urllib2, pprint
url = ('url_to_be_read')
urlFile = urlib2.urlopen(url)
jsonList = json.load(urlFile)
pprint (jsonList['domain']
我也尝试过这种方式:https://stackoverflow.com/a/15580120/3483414但我得到两种方式:“Keyerror:'domain'”
我的JSON对象列表的一个示例(在调用它并将其打印到测试之后)如下:
# Edited as requested
{u'data': [{u'categories': [],
u'ip': u'123.456.78.9',
u'domain': u'com.somedomain',
u'handler': 7},
{u'categories': [],
u'ip': u'9.876.543.21',
u'domain': u'com.differendomain',
u'handler': 7}],
u'elapsedTime': 130,
u'successful': True}
简单的要点是我只需要来自列表中每个对象的IP和域的值。我没有费心去尝试检索第二部分(IP),直到我弄清楚第一部分。感谢您的帮助。
答案 0 :(得分:1)
所以在黑客攻击和谷歌之后,我想出的答案是:
import requests, json
r = r.requests.get('path_to_url.tld')
j = r.text
j = json.loads(j)
json_string = json.dumps(j,sort_keys=True, indents=2)
parent = j['data']
for item in parent:
print item["domain"]
print item["ip"]
这将在我的文件中提供我想要的内容以供以后使用:
someDomain.com
123.4.5.6
otherDomain.net
12.34.56.78
感谢大家尝试帮助。