我想解析数量'来自这个JSON字符串...
json_data = {
u'orderNumber': u'135490818',
u'resultingTrades': [
{
u'tradeID': u'91846',
u'rate': u'0.00003530',
u'amount': u'10', u'date':
u'2015-04-09 13:47:29',
u'total': u'0.000353',
u'type': u'buy'
}
]
}
我正在尝试:
json_data['orderNumber']['resultingTrades']['tradeID']['amount']
我收到错误:Error: string indices must be integers
我认为错误是因为字典嵌套了一个列表。
解析'数量的正确方法是什么?
答案 0 :(得分:4)
就这样做
json_data['resultingTrades'][0]['amount']
当你这样做时
json_data['orderNumber']['resultingTrades']['tradeID']['amount']
json_data['orderNumber']
返回' 135490818'这是一个字符串,然后上面的语句变为
'135490818'['resultingTrades']['tradeID']['amount']
现在您尝试使用不允许的字符串索引字符串作为字符串python只能使用整数来访问。
答案 1 :(得分:2)
"字符串索引必须是整数" 表示您正在使用JSON字符串。要访问数据,首先必须将字符串解析为Python数据容器,在这种情况下为字典:
import json
json_data = 'json_data = { u"orderNumber": u"135490818", u"resultingTrades": [ { u"tradeID": u"91846", u"rate": u"0.00003530", u"amount": u"10", u"date": u"2015-04-09 13:47:29", u"total": u"0.000353", u"type": u"buy" } ] }'
python_data = json.loads(json_data)
json.loads()
用于"加载字符串" ,因此正在解析您的JSON字符串。
现在您可以访问您的金额as avinash pointed out:
python_data['resultingTrades'][0]['amount']