1. ホーム
  2. c++

[解決済み] QJsonObjectオブジェクトが特定の属性を含んでいるかどうかをチェックする方法はありますか?

2022-02-17 21:54:12

質問

QJsonObjectがあります。

    {
        "a":"...",
        "b":"...",
        "c":"..."
    }

このオブジェクトに "a" が含まれているかどうかを確認する方法はありますか?

どのように解決するのですか?

によると、いくつかのオプションがあります。 ドキュメント :

  • 最もわかりやすいのは QJsonObject::contains を返し、ブール値
  • を呼び出すことができます。 QJsonObject::find これはイテレータを返します。もしアイテムが見つからなければ、戻り値は次のようになります。 QJsonObject::end とにかくイテレータが必要な場合に使用します。
  • を呼び出すことができます。 QJsonObject::value これは、キーがあればその値を返し、なければ QJsonValue::Undefined それ以外の場合は おそらくキーに対応する値を取得するために value メソッドを使用していると思いますので、2回のルックアップの代わりに1回で済みます。パフォーマンスを上げるためにこれを使いたくなるかもしれませんが、 読みづらくなるし、ほとんどの場合パフォーマンスの向上は小さいので、 それだけの価値はないことを覚えておいてください。

私が Qt で好きなのは、その素晴らしいドキュメントなので、このような質問があるときは、まずドキュメントを読むことをお勧めします。