文字列「__FORCETOC__」を「{{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板 |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This pag…
 
(同じ利用者による、間の3版が非表示)
39行目: 39行目:


== JSONファイルの読み込み ==
== JSONファイルの読み込み ==
==== 単一オブジェクトの場合 ====
  <syntaxhighlight lang="json">
  <syntaxhighlight lang="json">
  # Sample.json
  # Sample.json
107行目: 108行目:
     for (const auto impvalue : impvalues) {      // 範囲ループforで取得する場合
     for (const auto impvalue : impvalues) {      // 範囲ループforで取得する場合
       vecvalues.push_back(impvalue.toString());
       vecvalues.push_back(impvalue.toString());
    }
}
</syntaxhighlight>
<br>
==== 配列オブジェクトの場合 ====
<syntaxhighlight lang="json">
# Sample.json
{
    {
      "description": "SomeDescription",
      "message": "SomeMessage"
    },
    {
      "description": "Home",
      "message": "Welcome",
      "imp":["awesome","best","good"]
    }
}
</syntaxhighlight>
<br>
<syntaxhighlight lang="c++">
#include <QFile>
#include <QJsonDocument>
#include <QJsonArray>
#include <QJsonObject>
#include <QString>
#include <QDebug>
void readJson()
{
    // Jsonファイルの読み込み
    QFile file("Sample.json");
    if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
        qDebug() << "JSONファイルの読み込みに失敗しました" << filePath;
        return;
    }
    QByteArray jsonData = file.readAll();
    // ファイルを閉じる
    file.close();
    QJsonDocument document = QJsonDocument::fromJson(jsonData);
    if (!document.isArray()) {
      qDebug() << "JSONファイルに配列オブジェクトがありません";
      return;
    }
    QJsonArray jsonArray = document.array();
    foreach (const QJsonValue &value, jsonArray) {
      QJsonObject obj = value.toObject();
      QString desc    = obj["description"].toString();
      QString message = obj["message"].toString();
      // キーの値が配列の場合、配列を文字列に変換する
      QJsonArray impvalues = obj["imp"].toArray();
      // 配列から要素を指定して取得する場合
      QString impvalue1 = impvalues[1].toString();
      // ...略
     }
     }
  }
  }
383行目: 446行目:
<br><br>
<br><br>


{{#seo:
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux
|image=/resources/assets/MochiuLogo_Single_Blue.png
}}


__FORCETOC__
__FORCETOC__
[[カテゴリ:Qt]]
[[カテゴリ:Qt]]