私はQTで連想JSON配列を解析する方法を知りたいと思います。QTで連想JSON配列を解析する方法は?
QJsonDocument doc=QJsonDocument::fromJson(data.toUtf8());
QJsonObject jobj=doc.object();
QJsonValue params_value=jobj.value(QString("params"));
QJsonArray params_array=params_value.toArray();
:
{
"req_code": 5,
"params": {
"email":"[email protected]",
"password":"123"
}
}
ので、メールを取得するために( 'データ' と呼ばれるJSON文字列から)私はこのような何かをしなければならないでしょう:
この
は私の例JSONです'params_array'オブジェクトに 'email'が格納されていますが、この配列はQHashではなく、QMapではありません。 QHashなら、私はメールを受け取るでしょう:
QString email=params_array.value("email");
しかし、それはハッシュではありません、それはベクトルです。では、この場合、「電子メール」プロパティの価値を適切かつ迅速に取得するにはどうすればよいですか?
JSONの例では、 'params'の値はオブジェクトであり、配列ではありません。 –
@ O'Neil Ok。 QJsonObject型でもある 'jobj'変数からQJsonObjectを取得するにはどうしたらいいですか?ドキュメントにはそのようなメソッドはありません。ほとんどのメソッドはQJsonValueを返しています。 – Nulik
QJsonArrayの代わりに[QJsonValue :: toObject()](http://doc.qt.io/qt-5/qjsonvalue.html#toObject-1)を使用して、 'QJsonValue params_value'をQJsonObjectに変換するだけで済みます。 –