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

如何将JSON转回Azure Form Recognizer支持的数据类型且避免重复分析

解决Azure Form Recognizer JSON转原生对象的问题

你当前的问题出在调用from_dict的方式错误——它是AnalyzeResult的类方法,不能通过实例调用,必须直接用类本身来调用,这样就能不用重新分析文档,直接从JSON/字典转回SDK支持的原生数据类型。

修正后的完整代码

首先是文档分析的基础代码:

from azure.core.credentials import AzureKeyCredential
from azure.ai.formrecognizer import DocumentAnalysisClient
# 新增导入AnalyzeResult类,用于逆向转换
from azure.ai.formrecognizer import AnalyzeResult

endpoint = "你的endpoint"
key = "你的key"

# 创建客户端实例
document_analysis_client = DocumentAnalysisClient(endpoint=endpoint, credential=AzureKeyCredential(key))

# 分析文档
with open("file.pdf", "rb") as f:
    poller = document_analysis_client.begin_analyze_document("prebuilt-document", document=f)
result = poller.result()

然后是JSON与原生对象的互转代码(修正了from_dict的调用方式):

import json

# 将原生分析结果转成JSON
d = result.to_dict()
json_string = json.dumps(d)

# 将JSON转回原生AnalyzeResult对象(无需重新调用API分析文档)
data = json.loads(json_string)
restored_result = AnalyzeResult.from_dict(data)

# 验证:可以像使用原result一样调用属性或方法
print(restored_result.pages[0].content)

关键注意事项

  • 必须确保用于逆向转换的字典/JSON结构和to_dict()输出的完全一致,不要随意修改字段或结构,否则会导致from_dict解析失败。
  • 如果是从本地存储的JSON文件读取数据,直接加载后传入AnalyzeResult.from_dict()即可完成转换。

内容的提问来源于stack exchange,提问作者saul santos

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 06:01:37