python - 如何将 'google.cloud.documentai.v1beta2.types.document.Document' 转换为 JSON?
问题描述
我正在使用 Google Cloud Document AI 的 Form Parser API。在我向 API 发出请求后,我收到了 type 的响应google.cloud.documentai.v1beta2.types.document.Document
。我尝试将它写入 JSON 使用json.dumps()
,但它给出了JSONDecodeError
因为JSON.dumps()
不知道如何序列化类型的对象google.cloud.documentai.v1beta2.types.document.Document
。
我很困惑如何将其转换为 JSON
任何帮助表示赞赏!
解决方案
我刚刚发现该google.cloud.documentai.v1beta2.types.document.Document
对象继承自proto.Message
,它本身继承自proto.MessageMeta
。您可以使用该proto.MessageMeta.to_json
函数将 Document 对象转换为 json 字符串,如下所示:
import json
from google.cloud.documentai_v1beta3 import Document
json_string = Document.to_json(document)
dict_obj = json.loads(json_string)
with open("document.json", mode='w') as my_file:
json.dump(dict_obj, my_file)
源代码proto.Message
有点难找,所以这里是:https ://github.com/googleapis/proto-plus-python/blob/cfd5b6caca3fa9add89d8c69ea620505dd90dd7c/proto/message.py#L330
推荐阅读
- sql - 查找特定模式并从具有字符串值的列中提取数据
- android - 如何根据 JSON 响应创建动态视图并在 android 中从中获取值
- c++ - 连接/复制两个向量的时间复杂度
- transactions - 使用区块链的交易收据
- hash - 如何在 Markdown 的代码块中转义根提示符 (#)
- ios - swiftUI中的分页不加载下一页
- linux - 当两个程序必须交互时如何使用GDB?
- machine-learning - 将嵌入(20 个浮点数的数组)转换为 20 个浮点特征?
- reactjs - 刷新后找不到反应页面
- oracle - How to create user in Oracle ASM only for selecting specific table without giving SYS privileges