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内の値のカプセル化 |
© 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.