将花括号解析为json?

2024-09-28 17:20:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用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)

Tags: nojsontruecasavariacionnombremejorventa
1条回答
网友
1楼 · 发布于 2024-09-28 17:20:50

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")

我无法为您提供具体的解决方案,因为您没有指定所需的内容,但我希望这种迭代此结构的方式对您有所帮助。 在未来的问题中,尽量做到更精确,并提供更多关于你想要达到的目标的细节

如果此答案对您有帮助,请将此问题标记为已解决

相关问题 更多 >