0

我有一个列表。我正在尝试 json 转储并加载它并从中获取特定数据,但它不起作用。

x=[
 AttributeDict({
'address': '0xf239F8424AffCbf9CC08Bd0110F0Df011Bcd2e68',
'logIndex': 0,
'args': AttributeDict({
  '_value': 63
}),
'transactionHash': HexBytes('0x96d06e0f112247fd584cfe9fbdf726d172ec0703bad3604c1182e0abcb67a45a'),
'event': 'Energy',
'blockHash': HexBytes('0x3ee6e9f4d682d9a99a94828e9ad7eb7e009e464aed980cd6c3055f62703599fa'),
'blockNumber': 1327084,
'transactionIndex': 0
})
]

这是上面的回复。我需要从中取出“_value”,所以我首先进行了转储..

y = json.dumps(x)

然后加载

z = json.loads(y)

但我没有得到任何数据,例如

z['AttributeDict']

我怎样才能摆脱它?谢谢

4

1 回答 1

0

所以答案是,web3.py 中有一个名为 web3.datastructures 的模块,所以只需通过下面的代码,您就可以从中获取值

import web3.datastructures as wd
res=wd.AttributeDict(x[0])
print(res['args']['_value'])
于 2019-07-22T10:44:19.523 回答