@@Nico R.
Jetzt, wo ich nochmal draufgestarrt habe, ist mir doch noch ein Licht aufgegangen. Die Kombination aus ="{" ging natürlich nicht. Mit
let toreArrayDB = '<?=json_encode($toreArray)?>';hats funktioniert.
Ja, wenn du " außen als Stringbegrenzer verwendest, darf im String natürlich kein nicht-escapetes " sein. Da ist ' als Stringbegrenzer zu verwenden richtig. Und, wie @MudGuard schon anmerkte, darf dann natürlich kein nicht-escapetes ' im String sein.
(Sollten welche vorkommen, müssten sie entweder als \' escapet werden oder – wenn es sich um Text handelt – durch richtige Apostrophe ’ ersetzt werden.)
Andersrum außen " und innen ' würde nicht funktionieren, da das JSON-Format nur ", aber nicht ' als Stringbegrenzer zulässt.
Warum hast du numerische Werte überhaupt als Strings im JSON? Die Identifier (vor den :) müssen Strings sein, aber die Werte nach den [ nicht. Das ist auch valides JSON:
{"0":[347,{"1":[10,null]}],"1":[344,{"1":[20,"1"],"2":[30,null]}],"3":[338,{"1":[30,null]}]}
Kwakoni Yiquan
Ad astra per aspera