Рейтинг:0

Синтаксическая ошибка при доступе к данным JSON в данных QML из python youtube_dl

флаг cn

У меня есть простая функция youtube_dl для доступа к ссылкам для скачивания YouTube здесь,

@QtCore.Slot(str, результат=str)
def getDownloadLinks (я, URL):
    пытаться:
        с youtube_dl.YoutubeDL({}) как ydl:
            результат = ydl.extract_info (url, загрузка = False)
        если "записи" в результате:
            видео = результат["записи"][0]
        еще:
            видео = результат
        r_videos = []
        для видео в видео["форматы"]:
            r_videos.append({"url": видео["url"], "формат": видео["формат"], "размер": видео["размер файла"]})
        resRet = {"status":"true", "urls": r_videos}
        вернуть строку (резет)
    кроме Исключения как e:
        resRet = {"status":"true", "error": str(e)}
        вернуть строку (резет)

И я пытаюсь получить к нему доступ в файле QML, в котором есть такая функция, которая обращается к этой функции python, вызывая ее следующим образом.

функция getLinks(url){
    jsonString = downloadeng.getDownloadLinks(url)
    console.log(jsonString)
    вар jsonObject = JSON.parse(jsonString)
    вар объект = JSON.parse(jsonObject)

    если (anObject.status == 'false') {
        //открыть всплывающее окно
        console.log("открытие всплывающего окна")
    } еще {
        console.log(объект.url)
    }
}

Но каждый раз, когда я получаю синтаксическую ошибку, подобную этой SyntaxError: JSON.parse: ошибка синтаксического анализа указание вар объект = JSON.parse(jsonObject) эта линия. Другое дело, что я дважды разбираю JSON, так как он ошибается при одном разборе, но отлично работает при втором разборе. Пожалуйста, помогите мне с этими двумя вещами.

24601 avatar
флаг in
YouTube довольно часто меняет свой набор программ, часто требуя внесения изменений в программы. Кроме того, я ничем не могу помочь, кроме как предложить вам взглянуть на DL-YOUTUBE PRO (который использует Python версии 0.1). Бесплатную версию можно загрузить из центра программного обеспечения Ubuntu (платная версия, которая регулярно обновляется, стоит не так дорого — всего несколько долларов США). Возможно, вы захотите попробовать.
флаг cn
@ 24601, Насколько я понимаю, это не совсем то, что касается youtube_ds. Если я верну некоторый простой текст вместо любых данных json, он будет работать нормально. Я просто не могу использовать правильный способ передачи данных json из python в qml.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.