Hallo Jeena,
Dein Problem ist den String "menu[2][1][2]['href']" zu zerlegen?
Das ist doch nicht so kompliziert. Zuerst bestimmst Du die Position des ersten [ und des letzten ] und schnippelst die und alles davor/danach weg.
Dann zerlegst Du den String mit split anhand von ][ in ein Array und kannst auf alle Komponenten zugreifen.
Die letzte davon wirfst Du halt weg, wenn Du die nicht brauchst.
Ich habe kürzlich auch eine Javascript-Oberfläche für eine kompliziertere Datenstruktur geabstelt. Ich hab' die Daten dann aber an den Server geschickt, indem ich mit Javascript XML erzeugt und an den Server geschickt habe. (In einem versteckten Formularfeld, man könnte aber natürlich auch einen XML-HTTP-Request nehmen.)
Die Lösung hat den Vorteil, dass Du Dich nicht darum kümmern musst, dass die GUI so aufgebaut ist, dass da die richtige Datenstruktur rauskommt.
Du musst natürlich aus den XML-Daten Serverseitig Deine Datenstruktur generieren, wogegen Dir die bei Deiner Lösung PHP erzeugt.
Grüße
Daniel