Десериализовать объект RecognizedForm из json (пакет SDK Python для распознавания форм Azure)

Мне нужно десериализовать результаты Azure Form Recognizer, сериализованные в формате json, в объекты python FormRecognizer (из пакета azure-ai-formrecognizer==3.1.0b1), и я не вижу никакого API для выполнения этой десериализации. Любая помощь будет оценена по достоинству.

Какие проблемы у вас возникают с ответом json, из-за которого вы хотите преобразовать его в объект SDK? SDK в настоящее время не предоставляет общедоступную поверхность для десериализации ответа REST на RecognizedForm.

Krista 18.12.2020 21:51

Я унаследовал большой объем кода Python, который принимает объект RecognizedForm и выполняет его дальнейшую обработку/анализ, а также базу данных объектов RecognizedForm, сериализованных в формате json. Некоторые из этих сериализованных в json объектов RecognizedForm были успешно проанализированы/обработаны, а некоторые нет. Мне нужно создать объекты RecognizedForm из этих сериализованных данных, чтобы я мог запускать неразобранные объекты через код, который дополнительно обрабатывает/анализирует объекты RecognizedForm.

D. Reagan 18.12.2020 22:15
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python.
Некоторые методы, о которых вы не знали, что они существуют в Python.
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
2
739
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В зависимости от того, как вы анализируете, если вам просто нужно получить доступ к атрибутам RecognizedForm и не нужен настоящий объект RecognizedForm (другими словами, просто форма объекта RecognizedForm), это может сработать для вас:

import json
from types import SimpleNamespace
recognized_form = json.loads(recognized_form_json, object_hook=lambda fields: SimpleNamespace(**fields))

В противном случае мы можем вручную десериализовать его обратно в RecognizedForm. См. этот суть для примера (не полностью протестировано).

Вау, спасибо за суть, это очень полезно (и да, для этого нужен доступ к атрибутам свойства)!

D. Reagan 19.12.2020 05:58

Другие вопросы по теме