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 aus JavaScript stammt, mittlerweile jedoch im Internet weit verbreitet als Datenaustauschformat genutzt wird.
Die JSON-Unterstützung in Qt bietet eine benutzerfreundliche C++-API zum Parsen, Bearbeiten und Speichern von JSON-Daten.
Weitere Details zum JSON-Datenformat finden Sie unter json.org und in RFC 8259.
Übersicht
JSON ist ein Format zur Speicherung strukturierter Daten. Es verfügt über 6 grundlegende Datentypen:
- bool
- double
- string
- array
- object
- null
Ein Wert kann einen der oben genannten Typen haben. Ein boolescher Wert wird in JSON durch die Zeichenfolgen „true“ oder „false“ dargestellt. JSON legt den gültigen Bereich für Zahlen nicht explizit fest, aber die Unterstützung in Qt ist auf den Gültigkeitsbereich und die Genauigkeit von „double“-Werten beschränkt. Eine Zeichenkette kann eine beliebige gültige Unicode-Zeichenkette 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 darf keine doppelten Schlüssel enthalten.
In der textuellen Darstellung von JSON werden Arrays in eckige Klammern ([ ... ]) und Objekte in geschweifte Klammern ({ ... }) gesetzt. 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 ihre 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 ein Array.
Ein gültiges JSON-Dokument ist entweder ein Array oder ein Objekt, daher beginnt ein Dokument immer mit einem eckigen oder geschweiften Klammer.
Die JSON-Klassen
Alle JSON-Klassen sind wertbasierte, implizit gemeinsam genutzte Klassen.
Die JSON-Unterstützung in Qt umfasst folgende Klassen:
Siehe auch „Speichern und Laden eines Spiels“.
Kapseln eines JSON-Arrays | |
Möglichkeit zum Lesen und Schreiben von JSON-Dokumenten | |
Kapseln eines JSON-Objekts | |
Die Klasse `QJsonObject::const_iterator` stellt einen konsten Iterator im STL-Stil für `QJsonObject` bereit | |
Die Klasse `QJsonObject::iterator` stellt einen nicht-konstanten Iterator im STL-Stil für `QJsonObject` bereit | |
Wird verwendet, um Fehler beim Parsen von JSON zu melden | |
Kapseln eines Werts in JSON |
© 2026 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.