QtのJSONサポート
QtはJSONデータを扱うためのサポートを提供しています。JSONはJavascriptから派生したオブジェクトデータをエンコードするフォーマットですが、現在ではインターネット上のデータ交換フォーマットとして広く使われています。
QtのJSONサポートは、JSONデータを解析、変更、保存するための使いやすいC++ APIを提供します。
JSONデータフォーマットの詳細については、json.orgや RFC 4627を参照してください。
概要
JSONは、構造化データを格納するフォーマットです。6つの基本データ型がある:
- ブール
- double
- 文字列
- 配列
- オブジェクト
- ヌル
値は、上記のいずれかの型を持つことができる。ブーリアン値は、JSONではtrueまたはfalseという文字列で表されます。JSONでは数値の有効範囲は明示的に指定されていませんが、Qtでのサポートはdoubleの有効範囲と精度に限定されています。文字列は、有効なUnicode文字列であれば何でもかまいません。配列は値のリストであり、オブジェクトはキーと値のペアのコレクションです。オブジェクトのキーはすべて文字列で、重複するキーを含むことはできません。
JSONのテキスト表現では、配列を角括弧([ ... ])で囲み、オブジェクトを中括弧({ ... })で囲みます。配列とオブジェクトの項目はカンマで区切られる。オブジェクトのキーと値の区切り記号はコロン(:)です。
人物、年齢、住所、電話番号をエンコードした単純なJSONドキュメントは、次のようになります:
{ "FirstName": "John", "LastName": "Doe", "Age": 43, "Address": { "Street": "Downing Street 10", "City": "London", "Country": "Great Britain" }, "Phone numbers": [ "+44 1234567", "+44 2345678" ] }
上記の例は、5つのキーと値のペアを持つオブジェクトで構成されています。値のうち2つは文字列、1つは数値、1つは別のオブジェクト、最後の1つは配列です。
有効なJSONドキュメントは配列かオブジェクトなので、ドキュメントは常に角括弧か中括弧で始まります。
JSONクラス
すべてのJSONクラスは値ベースで、暗黙的に共有されるクラスです。
Qt の JSON サポートは、これらのクラスで構成されています:
ゲームの保存と読み込みも参照してください 。
JSON配列のカプセル化 | |
JSONドキュメントの読み書き | |
JSONオブジェクトのカプセル化 | |
QJsonObject::const_iterator クラスは、QJsonObject 用の STL スタイルの const イテレータを提供します。 | |
QJsonObject::iterator クラスは、QJsonObject 用の STL 形式の const 以外のイテレータを提供します。 | |
JSONパース中にエラーを報告するために使用されます。 | |
JSON の値をカプセル化します。 |
©2024 The Qt Company Ltd. 本文書に含まれる文書の著作権は、それぞれの所有者に帰属します。 ここで提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。