Tôi có một chức năng youtube_dl đơn giản để truy cập các liên kết tải xuống youtube tại đây,
@QtCore.Slot(str, result=str)
def getDownloadLinks(self, url):
cố gắng:
với youtube_dl.YoutubeDL({}) là ydl:
kết quả = ydl.extract_info(url, download=False)
nếu "mục nhập" trong kết quả:
video = kết quả["mục"][0]
khác:
video = kết quả
r_videos = []
cho video trong video["formats"]:
r_videos.append({"url": video["url"], "format": video["format"], "size": video["filesize"]})
resRet = {"status":"true", "urls": r_videos}
trả về str(resRet)
ngoại trừ Ngoại lệ như e:
resRet = {"status":"true", "error": str(e)}
trả về str(resRet)
Và tôi đang cố truy cập nó trong tệp QML có chức năng như thế này để truy cập chức năng python này bằng cách gọi nó như thế này.
hàm getLinks(url){
jsonString = downloadeng.getDownloadLinks(url)
console.log(jsonString)
var jsonObject = JSON.parse(jsonString)
var anObject = JSON.parse(jsonObject)
if (anObject.status == 'false') {
//mở cửa sổ bật lên
console.log("cửa sổ bật lên đang mở")
} khác {
console.log(anObject.url)
}
}
Nhưng mỗi lần tôi gặp lỗi cú pháp như thế này
SyntaxError: JSON.parse: Lỗi phân tích cú pháp
chỉ ra var anObject = JSON.parse(jsonObject)
đường thẳng này. Một điều nữa là tôi đang phân tích cú pháp JSON hai lần vì nó bị lỗi ở một lần phân tích nhưng hoạt động tốt ở lần phân tích thứ hai. Xin hãy giúp tôi với hai điều này.