【问题标题】:How to specify values in JSON key如何在 JSON 键中指定值
【发布时间】:2019-07-25 14:28:37
【问题描述】:

我有一个 JSON,我想访问 "rates" 中的密钥。这是前面提到的 JSON:

currency = '''
{
  "rates": {
    "CNY": 7.6588,
    "BGN": 1.9558,
    "USD": 1.114
  },
  "base": "EUR",
  "date": "2019-07-24"
}
'''

qwe = json.loads(currency)

当我尝试时

for x in qwe['rates']:
    print(x)

我在没有密钥的情况下得到了 CNY、BGN、USD 的值。

但是当我尝试print(qwe['rates']) 时,我得到{'CNY': 7.6588, 'BGN': 1.9558, 'USD': 1.114}

我的想法是为每个值指定键

【问题讨论】:

  • I get the values CNY, BGN, USD without the keys. 这些是关键。 ;) 例如键是'CNY',值是'7.6588'。您可以通过for key, value in qwe['rates'].items(): 一次获取键和值。
  • "我得到了没有密钥的 CNY、BGN、USD 值。"嗯,那些键。但这里的区别在于字典迭代器只提供键,而不是键/值对。 printqwe['rates'] 视为 字符串,而不是迭代器。
  • 啊我的错 :D 但是非常感谢! :)

标签: python json dictionary


【解决方案1】:
qwe = json.loads(currency)
for key, value in qwe['rates'].items():
    # do something with 'key' here

【讨论】:

    【解决方案2】:

    要访问您必须打印的值 qwe['rates'][x]

    for x in qwe['rates']:
      print(qwe['rates'][x])
    

    输出

    7.6588
    1.9558
    1.114
    

    【讨论】:

      【解决方案3】:

      您应该使用 .items() dict 方法:

      for key, value in qwe['rates'].items():
          print(key, value)
      

      【讨论】:

        猜你喜欢
        • 2011-10-08
        • 2015-09-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多