Синтаксическая ошибка при доступе к данным 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, так как он ошибается при одном разборе, но отлично работает при втором разборе. Пожалуйста, помогите мне с этими двумя вещами.