JSON-Unterstützung in Qt
Qt bietet Unterstützung für den Umgang mit JSON-Daten. JSON ist ein Format zur Kodierung von Objektdaten, das von Javascript abgeleitet ist, aber jetzt weithin als Datenaustauschformat im Internet verwendet wird.
Die JSON-Unterstützung in Qt bietet eine einfach zu verwendende C++-API zum Parsen, Ändern und Speichern von JSON-Daten.
Weitere Einzelheiten über das JSON-Datenformat finden Sie auf json.org und in RFC 4627.
Überblick
JSON ist ein Format zur Speicherung strukturierter Daten. Es hat 6 grundlegende Datentypen:
- bool
- doppelt
- Zeichenkette
- Array
- Objekt
- null
Ein Wert kann jeden der oben genannten Typen haben. Ein boolescher Wert wird in JSON durch die Strings true oder false dargestellt. JSON spezifiziert nicht explizit den gültigen Bereich für Zahlen, aber die Unterstützung in Qt ist auf den Gültigkeitsbereich und die Genauigkeit von Doubles beschränkt. Ein String kann ein beliebiger gültiger Unicode-String sein. Ein Array ist eine Liste von Werten, und ein Objekt ist eine Sammlung von Schlüssel/Wert-Paaren. Alle Schlüssel in einem Objekt sind Zeichenketten, und ein Objekt kann keine doppelten Schlüssel enthalten.
Die Textdarstellung von JSON umschließt Arrays in eckigen Klammern ([ ... ]) und Objekte in geschweiften Klammern ({ ... }). Einträge in Arrays und Objekten werden durch Kommas getrennt. Das Trennzeichen zwischen Schlüsseln und Werten in einem Objekt ist ein Doppelpunkt (:).
Ein einfaches JSON-Dokument, das eine Person, ihr Alter, ihre Adresse und Telefonnummern kodiert, könnte wie folgt aussehen:
{ "FirstName": "John", "LastName": "Doe", "Age": 43, "Address": { "Street": "Downing Street 10", "City": "London", "Country": "Great Britain" }, "Phone numbers": [ "+44 1234567", "+44 2345678" ] }
Das obige Beispiel besteht aus einem Objekt mit 5 Schlüssel/Wert-Paaren. Zwei der Werte sind Zeichenketten, einer ist eine Zahl, einer ist ein weiteres Objekt und der letzte ist ein Array.
Ein gültiges JSON-Dokument ist entweder ein Array oder ein Objekt, daher beginnt ein Dokument immer mit einer eckigen oder geschweiften Klammer.
Die JSON-Klassen
Alle JSON-Klassen sind wertbasierte, implizit gemeinsam genutzte Klassen.
Die JSON-Unterstützung in Qt besteht aus diesen Klassen:
Siehe auch Speichern und Laden eines Spiels.
Verkapselt ein JSON-Array | |
Weg zum Lesen und Schreiben von JSON-Dokumenten | |
Verkapselt ein JSON-Objekt | |
QJsonObject::const_iterator Klasse bietet einen STL-ähnlichen const Iterator für QJsonObject | |
QJsonObject::iterator Klasse bietet einen STL-ähnlichen non-const Iterator für QJsonObject | |
Wird verwendet, um Fehler beim JSON-Parsing zu melden | |
kapselt einen Wert in JSON |
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.