Как я могу получить «расшифровку» данных из объекта DetailResponse? - PullRequest
0 голосов
/ 11 июля 2019

Я использовал службу преобразования речи в текст IBM для получения текста из аудиофайла.

Вот как выглядят данные

    {
    "result": {
        "results": [
            {
                "alternatives": [
                    {
                        "confidence": 0.6,
                        "transcript": "state radio "
                    }
                ],
                "final": true
            },
            {
                "alternatives": [
                    {
                        "confidence": 0.77,
                        "transcript": "tomorrow I'm headed to mine nine 
    consecutive big con I'm finna old tomorrow I've got may meet and greet 
    with whoever's dumb enough to line up for that and then on Friday you can 
    catch me on a twitch panel"
                    }
                ],
                "final": true

Я попытался превратить его в JSON, используя

    print(json.dumps(output, indent = 4))

но выдает ошибку

    TypeError: Object of type DetailedResponse is not JSON serializable

Как я могу использовать эти данные для печати только «стенограммы»?

1 Ответ

1 голос
/ 12 июля 2019

json.dumps() преобразует объект Python в строку JSON, что делается с помощью примеров API для регистрации / печати ответа, но в результате чего-то необычного в Python 3.7 изменился сериализуемый объект Python json.

Если вы посмотрите на ошибку TypeError, output - это экземпляр типа DetailedResponse.Таким образом, вам нужно изменить свой код, используя либо правильную инкапсуляцию объекта

print(json.dumps(output.get_result(), indent = 4))

, либо потому что это не защищенное свойство.

print(json.dumps(output.result, indent = 4))

К счастью output.result можно сериализовать в формате json.

...