MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
Qtの基礎 - JSONのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
Qtの基礎 - JSON
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == <code>QJsonDocument</code>クラスは、JSONドキュメントをラップするクラスである。<br> UTF-8でエンコードされたテキストベースの表現からJSONファイルを読み書きすることができる。<br> <br> JSONファイルは、<code>QJsonDocument</code>クラスの<code>fromJson</code>メソッドを使用して、<code>QJsonDocument</code>クラスに変換することができる。<br> JSONパーサーは高速で効率的であり、JSONをQtが使用するバイナリ表現に変換する。<br> <br> 解析されたJSONファイルの有効性は、<code>isNull</code>メソッドで照会することができる。<br> <br> また、<code>isArray</code>メソッドおよび<code>isObject</code>メソッドを使用して、JSONファイルに配列やオブジェクトが含まれているかどうかを調べることができる。<br> JSONファイルに含まれる配列やオブジェクトを<code>array</code>メソッド、<code>object</code>メソッドで取得して操作するしたりすることも可能である。<br> <br><br> == Jsonファイルの読み込み == <syntaxhighlight lang="json"> # Sample.json { "appDesc": { "description": "SomeDescription", "message": "SomeMessage" }, "appName": { "description": "Home", "message": "Welcome", "imp":["awesome","best","good"] } } </syntaxhighlight> <br> * CMakeを使用する場合 <syntaxhighlight lang="cmake"> # Qt 5の場合 find_package(Qt5 REQUIRED COMPONENTS Core) target_link_libraries(<プロジェクト名> PRIVATE Qt5::Core) # Qt 6の場合 find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(<プロジェクト名> PRIVATE Qt6::Core) </syntaxhighlight> <br> * QMakeを使用する場合 <syntaxhighlight lang="make"> QT += core </syntaxhighlight> <br> <syntaxhighlight lang="c++"> #include <QJsonDocument> void readJson() { // Jsonファイルの読み込み QFile file("Sample.json"); file.open(QIODevice::ReadOnly | QIODevice::Text); // valueの内容 : QJsonValue(object, QJsonObject({"description": "Home","imp": ["awesome","best","good"],"message": "YouTube"}) ) QString value = file.readAll(); file.close(); QJsonDocument doc = QJsonDocument::fromJson(value.toUtf8()); QJsonObject sett2 = doc.object(); // appvalueの内容 : QJsonObject({"description": "Home","imp": ["awesome","best","good"],"message": "YouTube"}) QJsonValue appvalue = sett2.value(QString("appName")); // itemの内容 : QJsonValue(string, "Home") QJsonObject item = appvalue.toObject(); // Jsonの値が文字列の場合、値を文字列に変換する QString subobj = item["description"].toString(); // Jsonの値が配列の場合、配列を文字列に変換する QJsonArray impvalues = item["imp"].toArray(); QString impvalue2 = impvalues[2].toString(); // 要素を指定して取得する場合 for (const auto impvalue : impvalues) { // 範囲ループforで取得する場合 QString imp = impvalue.toString(); } } </syntaxhighlight> <br><br> __FORCETOC__ [[カテゴリ:Qt]]
Qtの基礎 - JSON
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse