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

如何将Plaid API返回的AccountBase等类型对象转换为JSON格式

Plaid API返回对象转标准JSON格式方案

问题说明

Plaid API返回的AccountBase、ItemBase、TransactionBase等类型对象并非标准JSON结构,也无法直接用通用JSON序列化方法处理,沙箱接口返回的原始对象打印效果示例如下:

{'account_id': 'xllNjaMoAoCPvNVLAN89t1WaL1KXZxsn56pqb',
 'balances': {'available': 100.0,
              'current': 110.0,
              'iso_currency_code': 'USD',
              'limit': None,
              'unofficial_currency_code': None},
 'mask': '0000',
 'name': 'Plaid Checking',
 'official_name': 'Plaid Gold Standard 0% Interest Checking',
 'subtype': 'checking',
 'type': 'depository'}

常见的序列化失败场景包括:

  • Python环境下json.dumps()无法直接序列化自定义类对象
  • PHP环境下json_encode()直接调用返回空值或不符合预期的结构
  • 打印输出的类字符串无法直接解析为JSON

解决方案

Plaid官方SDK为所有返回模型内置了原生结构转换方法,不需要依赖第三方框架(如Flask的jsonify())或序列化工具(如jsonpickle)即可完成转换:

Python环境

所有模型类均提供to_dict()方法,可直接将对象转换为Python原生字典,再用json.dumps()序列化即可:

import json

# 假设account为接口返回的AccountBase类型对象
account_dict = account.to_dict()
# 转标准JSON字符串
account_json = json.dumps(account_dict, indent=2)

该方法会自动处理None值(转换为JSON标准的null)、浮点数值、嵌套结构(如示例中的balances字段),和Flask官方示例的jsonify()底层逻辑完全一致。

PHP环境

所有模型类均提供toArray()方法,可直接将对象转换为PHP关联数组,再用json_encode()序列化即可:

// 假设$account为接口返回的AccountBase类型对象
$account_array = $account->toArray();
// 转标准JSON字符串
$account_json = json_encode($account_array, JSON_PRETTY_PRINT);

注意事项

不要尝试解析打印对象得到的字符串完成转换,这种方式在字段包含特殊字符、嵌套层级变化时极易出错,优先使用SDK内置的转换方法即可覆盖所有场景。


内容的提问来源于stack exchange,提问作者Michael Stern

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 02:54:03