首页 > 解决方案 > 如何根据 Python 中 Json 对象的名称检索索引处的列表项

问题描述

例如,给定以下 JSON:

{
  "success": true,
  "message": "''",
  "result": [
    {
      "buy": [
        {
          "quantity": 12.37,
          "rate": 32.55412402
        }
      ],
      "sell": [
        {
          "quantity": 12.37,
          "rate": 32.55412402
        }
      ]
    }
  ]
}

我将如何检索“买入”和“卖出”以存储到变量中?我可以通过以下方式获得结果:

d = json.loads(string)

print(d['result'])

但是我现在看不到如何检索购买对象。例如我试过:

#print(d['result']['buy'])
#print(d['result'].buy)
#print(d['result'].indexOf('buy'))

一切都无济于事。

标签: jsonstringlistdictionary

解决方案


尝试:

print(d['result'][0]['buy'])

应该给你购买对象:

[{u'rate': 32.55412402, u'quantity': 12.37}]

如果您检查以下type内容d['result']

print(type(d['result']))  # <type 'list'>

它是一个list长度1,因此[0]末尾的d['result'][0]将返回列表中的第一个也是唯一一个项目,这是您期望可以['buy']像第一次尝试一样按键获取的字典:

#print(d['result']['buy'])

只需要索引列表[0]

#print(d['result'][0]['buy'])

推荐阅读