Das Lösen über HTML-Attribute (data-*) wird bei komplexen Objekten, Anführungszeichen (wie in deinen URLs/Optionen) und Zeilenumbrüchen schnell unübersichtlich und fehleranfällig, weil HTML-Parser und JSON-Parser sich gegenseitig ins Gehege kommen. Die moderne Lösung: JSON-Script-Tags Du platzierst deine Konfiguration einfach in einem unsichtbaren Skript-Tag mit der ID des jeweiligen Songs. Der Browser ignoriert diesen Block beim Rendern komplett, aber JavaScript kann ihn fehlerfrei als echtes JSON einlesen.