【问题标题】:how to isolate part of json in python?如何在python中隔离部分json?
【发布时间】:2021-05-13 22:15:05
【问题描述】:

嗨,我在我的代码中使用了 api,它以 json 格式输出,它看起来像这样

{"rates":{"CZK":25.738},"base":"EUR","date":"2021-02-09"}

我只想要 CZK 部分,所以 25.738 作为输出

我试过了

def get_kurz():
    res = requests.get('https://api.exchangeratesapi.io/latest?symbols=CZK')
    kurz = json.loads(res.text)
    result = (kurz['CZK'])
    return(result)

但是那没有工作最接近我可以让它工作的是

def get_kurz():
    res = requests.get('https://api.exchangeratesapi.io/latest?symbols=CZK')
    kurz = json.loads(res.text)
    result = (kurz['rates'])
    return(result)

然后输出

{'CZK': 25.738}

【问题讨论】:

  • kurz['rates']['CZK']?

标签: python json discord


【解决方案1】:

对于字典对象,可以多次使用索引访问嵌套元素。

所以,对于您的字典对象:

out = {"rates":{"CZK":25.738},"base":"EUR","date":"2021-02-09"}

如果你想要CZK键的值那么你可以直接使用:

res = out["rates"]["CZK"]

【讨论】:

    【解决方案2】:

    未知结构方法

    假设您只知道所需的密钥名称而没有其他信息,您可以遵循这种方法。

    def find_key(data, key_name):
        for k,v in data.items():
            if k==key_name:
                print(k)
                break
            elif isinstance(v, dict):
                find_key(data[k], key_name)
            else:
                continue
    

    这将在字典中查找您的密钥,无论它放置多深。

    已知结构方法

    结帐this answer

    SimpleNamespaceobject_hook 非常有价值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-23
      • 1970-01-01
      • 2014-12-12
      • 2012-11-15
      • 1970-01-01
      • 1970-01-01
      • 2021-12-10
      相关资源
      最近更新 更多