有一个QJsonObject

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

有没有一种方法可以检查此对象是否包含“a”?

最佳答案

根据the documentation,您有几种选择:

  • 最明显的是 QJsonObject::contains ,它返回一个 bool 值
  • 您可以调用 QJsonObject::find ,这将返回一个迭代器。如果找不到该项目,则返回值将等于 QJsonObject::end 如果仍然需要迭代器,请使用此值。
  • 您可以调用 QJsonObject::value ,如果存在则返回键的值,否则返回QJsonValue::Undefined。无论如何,您可能都在使用value方法来获取键的值,因此这将使您可以进行一次查找而不是两次查找。可能会很想使用它来提高性能,但是请记住,它将变得更难阅读,并且在大多数情况下,性能提升足够小,以至于不值得

  • 所有这些都直接来自Qt文档-关于Qt我最喜欢的是他们出色的文档,因此,当您遇到类似问题时,我鼓励您迈出第一步。

    关于c++ - 有没有一种方法来检查QJsonObject对象是否包含特定属性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22991294/

    10-11 19:37