使用 python 从 urllib 的 Json 响应中获取数据
Get data from Json response from urllib using python
我正在使用以下 Python 代码从 API 调用中获取数据。
import urllib.request
import json
response = urllib.request.urlopen(req)
string = response.read().decode('utf-8')
json_obj = json.loads(string)
print(json_obj)
结果集如下:
{"forecast": [645.946539419183], "index": [{"Date": 1629072000000, "ProductType": "Type1"}]}
我怎样才能 return 预测值?
645.946539419183
我尝试了很多方法来获取值,但似乎没有任何效果
print(json_obj['forecast'][0])
抛出以下错误:
TypeError Traceback (most recent call last)
<ipython-input-44-af91dd9fcc96> in <module>
37 json_obj = json.loads(string)
38
---> 39 print(json_obj['forecast'][0])
40
41 except urllib.error.HTTPError as error:
TypeError: string indices must be integers
json_obj = json.loads(json.loads(string))
json_obj["forecast"][0]
需要第二次索引,因为您查找的值在列表中。
这行得通,但我想强调的是,提供字符串的服务中可能存在错误,因为它编码了两倍的数据...
json_obj = {"forecast": [645.946539419183], "index": [{"Date": 1629072000000, "ProductType": "Type1"}]}
print(json_obj['forecast'][0])
上面的代码有效。
你可以这样做。
forecast = json_obj['forecast']
我正在使用以下 Python 代码从 API 调用中获取数据。
import urllib.request
import json
response = urllib.request.urlopen(req)
string = response.read().decode('utf-8')
json_obj = json.loads(string)
print(json_obj)
结果集如下:
{"forecast": [645.946539419183], "index": [{"Date": 1629072000000, "ProductType": "Type1"}]}
我怎样才能 return 预测值?
645.946539419183
我尝试了很多方法来获取值,但似乎没有任何效果
print(json_obj['forecast'][0])
抛出以下错误:
TypeError Traceback (most recent call last)
<ipython-input-44-af91dd9fcc96> in <module>
37 json_obj = json.loads(string)
38
---> 39 print(json_obj['forecast'][0])
40
41 except urllib.error.HTTPError as error:
TypeError: string indices must be integers
json_obj = json.loads(json.loads(string))
json_obj["forecast"][0]
需要第二次索引,因为您查找的值在列表中。
这行得通,但我想强调的是,提供字符串的服务中可能存在错误,因为它编码了两倍的数据...
json_obj = {"forecast": [645.946539419183], "index": [{"Date": 1629072000000, "ProductType": "Type1"}]}
print(json_obj['forecast'][0])
上面的代码有效。
你可以这样做。
forecast = json_obj['forecast']