我想用python解析此json:
[
{
"casa": {
"compra": "74,050",
"venta": "79,050",
"agencia": "349",
"nombre": "Dolar Oficial",
"variacion": "0,030",
"ventaCero": "TRUE",
"decimales": "3"
}
},
{
"casa": {
"compra": "127,000",
"venta": "131,000",
"agencia": "310",
"nombre": "Dolar Blue",
"variacion": "0",
"ventaCero": "TRUE",
"decimales": "3"
}
},
{
"casa": {
"compra": "No Cotiza",
"venta": "0",
"agencia": "311",
"nombre": "Dolar Soja",
"variacion": "0",
"ventaCero": "TRUE",
"decimales": "3"
}
},
{
"casa": {
"compra": "119,550",
"venta": "120,190",
"agencia": "312",
"nombre": "Dolar Contado con Liqui",
"variacion": "0,730",
"ventaCero": "TRUE",
"decimales": "3"
}
},
{
"casa": {
"compra": "121,760",
"venta": "118,280",
"agencia": "313",
"nombre": "Dolar Bolsa",
"variacion": "4,560",
"ventaCero": "TRUE",
"decimales": "3"
}
},
{
"casa": {
"compra": "9.852,070",
"venta": "10.251,516",
"agencia": "399",
"nombre": "Bitcoin",
"variacion": "-0,24",
"ventaCero": "TRUE",
"decimales": "3"
}
},
{
"casa": {
"nombre": "Dolar turista",
"compra": "No Cotiza",
"venta": "102,77",
"agencia": "406",
"variacion": "0,03"
}
},
{
"casa": {
"compra": "72,56",
"venta": "77,50",
"agencia": "302",
"nombre": "Dolar",
"decimales": "3"
}
},
{
"casa": {
"nombre": "Argentina",
"compra": "2.149,00",
"venta": "-0,05",
"mejor_compra": "True",
"mejor_venta": "False",
"fecha": "05\\/05\\/15",
"recorrido": "16:30",
"afluencia": {},
"agencia": "141",
"observaciones": {}
}
}
]
此json在大括号内也有大括号。例如,如何才能在第一个"casa"
内部和第一个"casa"
内部访问"compra"
,并返回其值?
我这样做了
dolarsi = requests.get('https://www.dolarsi.com/api/api.php?type=valoresprincipales').text
dolarvalue = json.loads(dolarsi)
for value in dolarvalue[0]:
print(value)
答案 0 :(得分:0)
在dolarvalue
中,有一个字典列表,其键是冗余信息,因为它们是相等的(casa
),并且其值也是字典,因此,由于方式的原因,您还有一个嵌套字典的列表。这个JSON是结构化的,这可能很棘手。
尝试运行此命令以使其可视化:
import requests
import json
dolarsi = requests.get('https://www.dolarsi.com/api/api.php?type=valoresprincipales').text
dolarvalue = json.loads(dolarsi)
print("\n-----------------\n")
print(dolarvalue)
print("\n-----------------\n")
for i in dolarvalue:
for (key, value) in i.items():
for (key2, value2) in value.items():
print(f"{key} : {key2} : {value2}")
print("\n")
我无法为您提供具体的解决方案,因为您没有指定所需的内容,但我希望这种遍历此结构的方式可以为您提供帮助。 尝试变得更加精确,并提供更多有关将来遇到的问题时要达到的目标的详细信息。
如果此答案对您有帮助,请将该问题标记为已解决