可以从JSON调用Python函数吗?
类似于包含2个数字的JSON,以及指向这2个数字的函数的链接。
我可以解析从中检索数据的JSON文件,但我不确定如何在解析时调用函数。在解析器中,我可以对操作进行硬编码,在JSON中添加一些标识操作的东西(A代表add,S代表减法等等);所以解析器知道读取字段中传递的字母的操作。
虽然理想情况下我希望解析器只读取JSON文件并在另一个Python模块中检索正确的函数,所以每次编写一个新类时我都不必修改解析器,与这些数字不同的东西。
这可以用Python完成吗?
答案 0 :(得分:0)
来自the Python standard library documentation;的“专门化JSON对象解码”(阅读:Python基础编写了以下代码块)
import json
def as_complex(dct):
if '__complex__' in dct:
return complex(dct['real'], dct['imag'])
return dct
json.loads('{"__complex__": true, "real": 1, "imag": 2}',
object_hook=as_complex)
import decimal
json.loads('1.1', parse_float=decimal.Decimal)
答案 1 :(得分:0)
您可以使用ijson库来遍历JSON:https://pypi.python.org/pypi/ijson/
ijson文档提供了几个如何迭代JSON并根据它找到的内容进行处理的示例。
如果您粘贴JSON的示例以及您希望实现的目标,我们可以为您提供更有针对性的帮助。