You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Solana程序报错:TypeError: GetAccountInfoResp对象不可下标访问

解决Solana开发中的TypeError: 'GetAccountInfoResp' object is not subscriptable

问题根源

你使用solana-py调用get_account_info后,返回的是solders.rpc.responses.GetAccountInfoResp结构体对象,而非你预期的JSON字典,因此无法通过["result"]这类下标语法访问数据,必须改用对象属性调用的方式。

修复代码

将下标访问替换为属性访问即可解决问题:

import struct
from pprint import pprint as p
from solana.rpc.api import Client
from solders.pubkey import Pubkey
from solana.transaction import Transaction
from base58 import b58encode, b58decode as b58d
from base64 import b64decode as b64d

b58e = lambda x:b58encode(x).decode('ascii')
uri="http://api.mainnet-beta.solana.com"
client=Client(uri)
usdc=Pubkey.from_string("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v")
ai = client.get_account_info(usdc)
p(ai)

# 改用属性访问获取账户数据
account_data = ai.value.data[0]

核心说明

  • GetAccountInfoResp对象的属性对应原JSON层级:
    • 原["result"]["value"]对应对象的ai.value属性
    • 原["data"][0]对应ai.value.data[0]
  • 若需查看对象所有可访问属性,可执行dir(ai)或pprint(vars(ai))

内容的提问来源于stack exchange,提问作者Juan Hoyos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 21:32:03