Tach!
Zudem kann JSON beliebig verschachtelte Elemente abbilden, was im Querystring nicht vorgesehen ist.
Das ist genau das Idiotische, was JSON und XML Nutzer gerne als Argument benutzen: Beliebige Schachtelungen.
Was ist daran idiotisch, strukturierte Daten strukturiert zu übermitteln? Warum soll zum Beispiel eine Liste mit Datensätzen, welche (üblicherweise) aus mehreren Einträgen pro Satz bestehen, nicht als zweistufige Struktur übertragen werden? Was wäre denn die (flache) Alternative bezogen auf die gleiche simple Verarbeitung?
list = json_decode(input)
foreach item in list
process_item(item)
Ich würd' mal, in Anbetracht der Trivialität dieser Aufgabe, genau dasselbe machen was PayPal u.a. Serviceprovider machen: Nämlich verschiedene Content-Types anbieten und je nach angeforderten Parameter im Request ausgeben [...]
Kann man machen, aber warum? Die Großen müssen das sozusagen, um ein sehr großes Publikum mit unterschiedlichen Wünschen bedienen zu können. Als kleiner Kalenderanbieter würde ich den Aufwand zunächst nicht haben wollen. JSON reicht für den Anfang. Wenn da wirklich jemand daherkonmt, dessen System nur XML verarbeiten kann, kann man sich ja immer noch überlegen, ob es den Implementierungsaufwand wert ist. In Richtung JSON kann man unter PHP eine Datenstruktur mit einem einzelnen Aufruf einer im Lieferumfang enthaltenen Funktion umwandeln. Für XML muss man selbst was schreiben oder eine externe Lösung bemühen. Das erzeugt neben dem einmaligen Aufwand beim Selberschreiben Folgeaufwand für das eventuelle Anpassen der eigenen Lösung oder Überwachen der Quelle des externen Paketes auf Korrekturen und andere Änderungen. Das muss man sich ja nicht unbedingt ans Bein holen. Einfachheit hört nicht bei Datenstrukturen auf.
Und im Zeitalter von Multimedia (gibt's seit über 20 Jahren) sind XML oder JSON sowieso ein Witz.
Erzähl doch mal, ich möchte auch lachen.
dedlfix.