Wenn Sie bereits ein Lesegerät verwenden, das es in ein DOM-Objekt einfügt, denke ich nicht, dass es sich lohnt, von XML zu JSON zu wechseln, wenn Sie nicht während des Prozesses Ihr Datenformat ändern. Vor allem, wenn Sie einen Editor verwenden, um die Daten Ihres Programms zu erstellen, weil Sie viel bessere Werkzeuge haben, um XML-Dokumente zu bearbeiten als JSON. Es ist sehr wahrscheinlich, dass die Analysezeit für diese DOM-Objekte zwischen den Implementierungen nicht sehr unterschiedlich sein wird, aber Ihre JSON-Instanz-DOM-Objekte werden wahrscheinlich weniger Platz einnehmen, wenn dies von Bedeutung ist. Sie können alles, was Sie benötigen, in XML oder JSON speichern, also sollten Sie sich keine Sorgen machen. Als eine Ebenenbeschreibungssprache würde ich XML verwenden, weil ich ein Schema definieren könnte und es einfacher ist, es bei Bedarf manuell zu bearbeiten. Es klingt auch so, als ob Sie die Fähigkeit haben möchten, diese Ebenen beim Lesen von Daten effizient zu erzeugen und alle zusätzlichen Instanzdaten zu ignorieren, wenn sie nicht so schnell wie möglich benötigt werden. Ein XML-SAX- oder Pull-Parser wäre dafür ideal.
Nun, da meine kurze Antwort vorbei ist, werde ich ein bisschen mehr mit Informationen wandern, die Ihnen helfen können, besser für sich selbst zu entscheiden.
Wie möchten Sie auf die Daten zugreifen? Möchten Sie einfach alles einlesen und ein großes Objekt haben, auf das Sie zugreifen können, oder müssen Sie nur einmal die Daten betrachten, um basierend auf diesen Informationen Objekte zu erstellen? Haben Sie Bedenken bezüglich der Leistung beim Parsen und wie schnell können Sie auf neue Informationen reagieren, die eingelesen werden? Wird sich das Format Ihrer Daten wahrscheinlich stark ändern? Möchten Sie einen Standard bereitstellen, in dem diese Informationen außerhalb Ihrer Anwendung freigegeben werden können? Welche Programmiersprache verwende ich? Einige Sprachen haben sehr gute Werkzeuge für JSON vs. XML, abhängig von der Sprache.
Angesichts der einzigen Wahl JSON oder XML würde ich entscheiden, basierend auf den Anwendungsfällen für die Anwendung relevant.
Ich würde XML verwenden, wenn ich Leistung in meinem Parser wirklich zwicken muss und ein sehr strukturiertes Format haben, das beschrieben und geteilt werden kann und wahrscheinlich nicht oft geändert wird. Ich könnte ein Schema verwenden, um die Anforderungen an die Datenstruktur zu beschreiben und anderen Leuten zu ermöglichen, meine Datendateien einfach zu unterstützen. Ich würde auch XML verwenden, wenn meine Informationen groß sind, und ich möchte die Daten in Chunks parsen und direkt in Objekte speichern, die mit einem kleineren Footprint enden als mit einem generischen DOM-Modell und Parser. Ich würde SAX-Push-Reader oder einen Stream-Reader verwenden, der es mir ermöglicht, zu lesen, wenn ich auf Informationen beim Einlesen reagieren musste. Es gibt viele gute Bibliotheken, um dies schnell und einfach für XML zu tun. Wenn ich die Daten oft manuell bearbeiten oder zu Debug-Zwecken ausdrucken musste, ist ein XML-Dokument dafür bereits in einem guten Format.
Ich würde JSON verwenden, wenn ich Instanz Dokumentplatz speichern und ich möchte ein DOM-Objekt. Wenn ich zwei Anwendungen habe, die nur versuchen, Daten wie Python und Java zu kommunizieren, würde ich JSON verwenden, weil es diese in Instanzobjekte mit Settern und Gettern ohne ein kompliziertes Framwork lesen kann, obwohl dies die Dinge verlangsamen könnte. Wenn ich nur Datenobjekte serialisieren und übertragen möchte, wäre JSON meine Wahl für XML, wenn dies meine einzigen Optionen sind.
Auch XML ist eine bessere Übereinstimmung für DOM-Stil-Codierung, sequenzielles Parsing und so weiter, während JSON eine engere Übereinstimmung für Wörterbücher, assoziative Arrays etc. ist. Es hängt ein wenig davon ab, wie Sie Ihr Spiel so weit ich vermute. – jambox