Python请求:从返回的JSON字符串中获取属性

use*_*599 7 python json http python-requests

import requests
r = requests.get('http://httpbin.org/get');
r.text
Run Code Online (Sandbox Code Playgroud)

收益:

u'{\n  "url": "http://httpbin.org/get",\n  "headers": {\n    "Host": "httpbin.org",\n    "Accept-Encoding": "gzip, deflate, compress",\n    "Connection": "close",\n    "Accept": "*/*",\n    "User-Agent": "python-requests/2.2.1 CPython/2.7.5 Windows/7",\n    "X-Request-Id": "db302999-d07f-4dd6-8c1e-14db45d39fb0"\n  },\n  "origin": "61.228.172.190",\n  "args": {}\n}'
Run Code Online (Sandbox Code Playgroud)

如何获得originheaders/Host价值观?

谢谢

Eri*_*lun 17

返回的是一个JSON字符串; 你需要解析它才能方便地使用它.如果您致电r.json()而不是,请求可以为您执行此操作r.text.

那么这只是做的事情:

resp = r.json()
print resp['origin']
print resp['headers']['Host']
Run Code Online (Sandbox Code Playgroud)

  • `r.text`可能使用错误的字符编码,只需使用`r.json()` (7认同)
  • 为什么我从 json() 得到字符串? (2认同)