【发布时间】:2018-12-29 17:00:04
【问题描述】:
我正在使用 python 请求模块从 3 个不同的服务器获取 JSON 响应。 2 JSON 响应如下所示:
JSON 响应 1:
{"MaleName1":"John","MaleAge1":"1.40531900","FemaleName1":"Anna","FemaleAge1":"14"}
JSON 响应 2:
{"male":[{"name":"John","age":"12"}],"female":[{"name":"Anna","age":"14"}]}
JSON 响应 3:
{"male":[["John","12",[]],["Alex","13",[]],["Glenn","12",[]],["Patrick","14",[]],["Gerard","14",[]]],"female":[["Anna","14",[]],["Lena","12",[]],["Martha","13",[]],["Penelope","13",[]],["Brenda","13",[]]]}
我的问题是解析第二个和第三个 JSON 响应的正确方法是什么,以便我可以打印以下所需值:
1st Male Name: John
1st Male Age: 12
1st Female Name: Anna
1st Female Age: 14
对于第一个 JSON 响应,使用下面的 float() 参数获得所需的响应没有问题:
import json, requests
def 1stMaleName():
1stMaleNameData = requests.get('url')
return 1stMaleNameData.json()['MaleName1']
1stMaleNameValue = float(1stMaleName())
Print ("!st Male Name: ", 1stMaleNameValue)
【问题讨论】:
-
既然您需要的所有信息都在第二个响应中,为什么您需要解析第三个响应?
-
@AChampion 因为第二和第三响应将来自不同的来源,并且值可能彼此不同,所以我需要从两个来源获取数据以进行一些验证。
标签: python arrays json python-3.x