为什么我不能用 Python 3 获取这个 json 值?



我想这样解析JSON值:

{"1DyRGJQZZMr9LxRFXHq5AZ4gopqk7pCPZi":{"final_balance":772038,"n_tx":4137,"total_received":23382077223}}

为了只在final_balance中保持值772038,我尝试这样做:

import json
import urllib.request
# download raw json object
url = "http://blockchain.info/balance?active=1DyRGJQZZMr9LxRFXHq5AZ4gopqk7pCPZi"
data = urllib.request.urlopen(url).read().decode()
print(data)
# parse json object
obj = json.loads(data)
print(obj.values())
# output some object attributes
print('$ ' + obj['final_balance'])

我已经尝试了很多事情,但是,每次,我得到一个错误像这样:

> print('$ ' + obj.values()['final_balance']) TypeError: 'dict_values'
> object is not subscriptable (Or Keyerror )
> {"1DyRGJQZZMr9LxRFXHq5AZ4gopqk7pCPZi":{"final_balance":772038,"n_tx":4137,"total_received":23382077223}}
> dict_values([{'final_balance': 772038, 'n_tx': 4137, 'total_received': 23382077223}])

如果你写:

# output some object attributes
print('$ ' + obj["1DyRGJQZZMr9LxRFXHq5AZ4gopqk7pCPZi"]['final_balance'])

ie。首先,您需要访问dict键,"在

{
"1DyRGJQZZMr9LxRFXHq5AZ4gopqk7pCPZi": {
"final_balance": 772038,
"n_tx": 4137,
"total_received": 23382077223
}
}

访问:

{
"final_balance": 772038,
"n_tx": 4137,
"total_received": 23382077223
}

decze的答案有效,因为

for k, v in obj.items():

遍历每个"key-value"Pair在json对象的根目录

最新更新