我有一个json数据,我希望得到' account'密钥使用其值。这就是我的意思,
>>> vd=vxa.json()
>>> vd['outputs']
[{u'account': u'3422VtS7UtCvXYxoXTPnNp8HS6uCHm6j9p86', u'value': 83383165,
u'vout': 0}, {u'account': u'3FrWvdxBkrEJKA57UtCvXYxoXrFER53FE', u'vout':
1, u'chain': 10, u'isMine': True, u'value': 13155, u'chainIndex': 6}]
所以我想获得'3FrWvdxBkrEJKA57UtCvXYxoXrFER53FE
'的价值使用实际的帐户密钥。
当我这样做时,
>>>vd['outputs']('account':'3FrWvdxBkrEJKA57UtCvXYxoXrFER53FE')['value']
我得到了
'SyntaxError: invalid syntax'
我错过了什么?
答案 0 :(得分:4)
vd['outputs']
是带有词典的列表。假设此列表的顺序是稳定的API,您可以执行
vd['outputs'][1]['value']
如果订单不是常量,则需要使用
进行过滤def get_value(account):
for d in vd['outputs']:
if d['account'] == account:
return d['value']
答案 1 :(得分:1)
'输出的价值'是一个清单。您可以遍历列表。
<强>实施例强>
for i in vd['outputs']:
if i["account"] == '3FrWvdxBkrEJKA57UtCvXYxoXrFER53FE':
print(i["value"])
答案 2 :(得分:0)
另一种看待这是一个列表的方法是稍微改变格式:
my_list = [
{u'account': u'3422VtS7UtCvXYxoXTPnNp8HS6uCHm6j9p86',
u'value': 83383165,
u'vout': 0},
{u'account': u'3FrWvdxBkrEJKA57UtCvXYxoXrFER53FE',
u'vout': 1,
u'chain': 10,
u'isMine': True,
u'value': 13155,
u'chainIndex': 6}
]
# 3FrWvdxBkrEJKA57UtCvXYxoXrFER53FE
my_dict = my_list[1]
my_account = my_dict[u'account']
print(my_dict)
print(my_account)
输出:
{'account': '3FrWvdxBkrEJKA57UtCvXYxoXrFER53FE', 'vout': 1, 'chain': 10, 'isMine': True, 'value': 13155, 'chainIndex': 6}
3FrWvdxBkrEJKA57UtCvXYxoXrFER53FE
答案 3 :(得分:0)
试试这个:
value_to_find = '3FrWvdxBkrEJKA57UtCvXYxoXrFER53FE'
for dic in vd['outputs']:
if dic['account'] == value_to_find:
print('Value =', dic['value'])
输出:
Value = 13155