【问题标题】:Difference between QJsonValue and QVariant?QJsonValue 和 QVariant 的区别?
【发布时间】:2019-05-15 17:36:30
【问题描述】:

我正在使用 Qt 和 JSON。现在,我有两个选择:QVariantQJsonValue。我不明白它们的不同之处?

我知道 QVariant 有更多方法,QJsonValue 有 is*** 方法(其中 QVariant 有类型)。 但是还有其他主要区别(也许是速度)吗?如果不是:为什么有两个类可以做几乎相同的事情?

【问题讨论】:

  • 当然,Qvariant可以包含更多的类型,但是如果有替代的QVariant,为什么还要使用QJsonvalue呢?
  • JsonValue 是一种特殊类型,只允许在标准 json 中以字符串、数字、布尔值等形式表示的某些类型的数据。
  • 好的,我想我现在明白了。 QJsonvalue 与 QVariant 没有太大区别,但有一些小的优势。就像你说的......里面只有 JSON 值。而我之前发现,QJsonvalue 是严格类型的 -> 你不能进行任何隐式转换。感谢您的帮助@eyllanesc
  • 上面提到的一切都是真实的,除此之外,您可以在 QVariant 中存储一些特定于 Qt 的类型,或者注册自己的类型并存储它。它们可能不容易序列化为 Json,但可以存储在 QVariant 中。

标签: c++ qt types qvariant


【解决方案1】:

QVariant 让您可以更灵活地处理数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多