Score: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, ดาวน์โหลด=เท็จ)
        หาก "รายการ" เป็นผลลัพธ์:
            วิดีโอ = ผลลัพธ์["รายการ"][0]
        อื่น:
            วิดีโอ = ผลลัพธ์
        r_videos = []
        สำหรับวิดีโอในวิดีโอ["รูปแบบ"]:
            r_videos.append({"url": video["url"], "format": video["format"], "size": video["filesize"]})
        resRet = {"สถานะ":"จริง", "urls": r_videos}
        ส่งคืน str (resRet)
    ยกเว้น ข้อยกเว้นเป็น e:
        resRet = {"สถานะ":"จริง", "ข้อผิดพลาด": str(e)}
        ส่งคืน str (resRet)

และฉันกำลังพยายามเข้าถึงมันในไฟล์ QML ซึ่งมีฟังก์ชันแบบนี้ ซึ่งเข้าถึงฟังก์ชันไพทอนนี้โดยเรียกมันแบบนี้

ฟังก์ชัน getLinks (url){
    jsonString = downloadeng.getDownloadLinks(url)
    console.log(jsonString)
    var jsonObject = JSON.parse(jsonString)
    var anObject = JSON.parse(jsonObject)

    ถ้า (anObject.status == 'เท็จ') {
        // เปิดป๊อปอัป
        console.log("กำลังเปิดป๊อปอัป")
    } อื่น {
        console.log(anObject.url)
    }
}

แต่ทุกครั้งที่ฉันได้รับข้อผิดพลาดทางไวยากรณ์เช่นนี้ SyntaxError: JSON.parse: ข้อผิดพลาดในการแยกวิเคราะห์ บ่งชี้ var anObject = JSON.parse(jsonObject) บรรทัดนี้ อีกสิ่งหนึ่งคือฉันแยกวิเคราะห์ JSON สองครั้งเนื่องจากข้อผิดพลาดในการแยกวิเคราะห์หนึ่งครั้ง แต่ทำงานได้ดีในการแยกวิเคราะห์ครั้งที่สอง โปรดช่วยฉันด้วยสองสิ่งนี้

24601 avatar
in flag
YouTube ค่อนข้างเปลี่ยนชุดโปรแกรมบ่อยจนต้องแก้ไขโปรแกรมด้วย นอกเหนือจากนั้น ฉันไม่สามารถช่วยอะไรได้นอกจากแนะนำให้คุณดู DL-YOUTUBE PRO (ซึ่งใช้ Python เวอร์ชัน 0.1) สามารถดาวน์โหลดเวอร์ชันฟรีได้จากศูนย์ซอฟต์แวร์อูบุนตู (เวอร์ชันจ่ายซึ่งมีการอัปเดตเป็นประจำนั้นไม่แพงมาก - เพียงไม่กี่เหรียญสหรัฐ) คุณอาจต้องการลอง
cn flag
@24601 มันไม่ใช่อะไรกับ youtube_ds เท่าที่ฉันกังวล ถ้าฉันส่งคืนข้อความธรรมดาแทนข้อมูล json ใด ๆ มันก็ใช้ได้ดี ฉันไม่สามารถใช้วิธีที่เหมาะสมในการส่งข้อมูล json จาก python ไปยัง qml

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา