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

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

      @QtCore.Slot(str, result=str)
def getDownloadLinks(self, url):
    try:
        with youtube_dl.YoutubeDL({}) as ydl:
            result = ydl.extract_info(url, download=False)
        if "entries" in result:
            videos = result["entries"][0]
        else:
            videos = result
        r_videos = []
        for video in videos["formats"]:
            r_videos.append({"url": video["url"], "format": video["format"], "size": video["filesize"]})
        resRet = {"status":"true", "urls": r_videos}
        return str(resRet)
    except Exception as e:
        resRet = {"status":"true", "error": str(e)}
        return str(resRet)

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

      function getLinks(url){
    jsonString = downloadeng.getDownloadLinks(url)
    console.log(jsonString)
    var jsonObject = JSON.parse(jsonString)
    var anObject = JSON.parse(jsonObject)

    if (anObject.status == 'false') {
        //open Popup
        console.log("opening popup")
    } else {
        console.log(anObject.url)
    }
}

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

0 ответов

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