【发布时间】:2021-12-26 08:07:12
【问题描述】:
Plaid API 以类似于但不完全是 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'}
这是键入“AccountBase”(或类似命名的项目和交易的替代品)。在他们的 Python 演示代码中,他们假定使用了 Flask jsonify() 命令,但我没有使用 Flask。在 shell 中,jsonpickle.encode() 有效,但它在 PHP 中不起作用,原因超出了我的范围。 json.dumps() 不会尝试转换 AccountBase。
AccountBase 对象巧妙地执行 print(),但结果是一个无法以任何有用的方式转换为 JSON 的字符串。
我问社区 — 如何将 AccountBase(或 ItemBase,或 TransactionBase)对象转换为 JSON?
【问题讨论】:
-
您能否进一步说明从 PHP 调用
jsonpickle.encode()时会发生什么/您遇到什么错误?似乎解决该问题将大大有助于解决此问题。 -
@Alex 我同意这将是一个不错的解决方案。
jsonpickle.encode()从 shell 运行时可以正常工作,但此代码需要由 Apache 渲染的 PHP 调用,而 Apache(尽管使用与 shell 完全相同的/usr/bin/python3)不会import jsonpickle。我在这方面花了很多时间,但欢迎您提出任何想法。Venv,不管它值多少钱。