在JSON文件中搜索有效的IP地址并抓取

时间:2018-12-04 20:14:08

标签: json python-3.x

我想在收到的文件中查找IP地址。我是否可以通过删除其他所有内容来从JSON中获取IP地址?抓住此字符串的最佳方法是什么?

代码:

if data['secret'] == "acoolsecret":
  print (data['ip'])
  for element in data['ip']:
        if element['ip'] == 'ip_addresss:':
            print 'there'
            break
    else:
        print 'IP NOT FOUND'
  return ("Secret Correct, continuing with program STATUS:200")

示例JSON:

{"ip": "gateway: 1.1.0.0\\nip_address: 8.8.8.8\\nnetmask: 255.255.240.0\\ntype: public", "secret": "acoolsecret"}

谢谢!

2 个答案:

答案 0 :(得分:0)

也许我误解了您的问题,但是如果您这样做

>>> d = {y[0].strip() : y[1].strip() for y in [x.split(':') for x in data['ip'].split('\\n')]}
>>> d.get('ip_address')
'8.8.8.8'

答案 1 :(得分:0)

我最终通过修改@caverac提供的代码来修复它。我将在此处粘贴代码,以便任何人都可以看到解决方案。

 datatmp=json.loads(request.data)
 datatmp=datatmp['ip']
 datatmp=datatmp.split('\n')
 datatmp=datatmp[1]
 ip=datatmp[12:]

谢谢!