【问题标题】:How To Use QJson library In Qt如何在 Qt 中使用 QJson 库
【发布时间】:2014-04-09 10:31:24
【问题描述】:

现在我正在使用 Qt v2.3 我有一个问题,我需要使用 json 将数据发送到服务器,但 Qjson 类不存在。 如何将 JSON 包含到 Qt 中?或者 是否有任何外部头文件?

【问题讨论】:

  • Qt的最新版本是版本5。你确定你的意思是Qt2.3吗?
  • 是的,现在我正在使用 Qt creator 2.3 版本
  • @user3472783:Qt Creator 版本(IDE)不是 Qt 版本(库)。检查 Qt 在 Creator 中的配置。

标签: c++ qt qt5 qtcore qjson


【解决方案1】:

您可能指的是 QtCreator 版本,而不是 Qt。 Qt 2.3 作为一个使用的框架版本已经很老了,而且可能大多数第三方库都不能再使用它了。

只需使用 Qt 5,这意味着如果您还没有这样做,请切换到它。

然后您将突然访问qt json classes in QtCore。基本上,您将可以访问这些类:

QJsonArray 封装一个 JSON 数组

QJsonDocument方式读写JSON文档

QJsonObject 封装了一个 JSON 对象

QJsonObject::iterator QJsonObject::iterator 类为 QJsonObject 提供了一个 STL 风格的非常量迭代器

QJsonObject::const_iterator QJsonObject::const_iterator 类为 QJsonObject 提供了一个 STL 风格的 const 迭代器

QJsonParseError 用于在 JSON 解析过程中报告错误

QJsonValue 用 JSON 封装一个值

在这里你可以找到一个关于这些类的用法的很好的例子,或多或少:

JSON Save Game Example

如果您有 Qt 4 系列或更早版本,您可以尝试向后移植这些类,如果没有人这样做的话。

这些类的总体优势是它们与其他库相比非常快,例如 qjson(4-5 倍)甚至是用 C 编写的 libjson 库!这是可能的,因为它在内部使用二进制格式来加速读写操作。

【讨论】:

    【解决方案2】:

    首先,QT = Quick Time,Qt = 可爱。 您使用 Qt Creator 2.3,它是您的 IDE 版本而不是您的 Qt lib 版本。

    你使用的是 Qt 的 Witch 版本吗? Qt 5.2、4.7 等 ...

    为了正确使用 QJson,您应该将 QJSON 文件夹复制到项目的同一位置,并将 *.pri 包含在您的 .pro 中。

    您可以在此链接中找到如何在您的项目中正确使用 QJson 类。

    http://developer.nokia.com/community/wiki/How_to_use_QJson_to_easy_manage_JSON_objects_with_Qt

    【讨论】:

    • 当我在欢迎页面打开 Qt 时,它显示(欢迎使用 Qt Creator2.3)但在帮助页面(Qt Creator 手册版本 2.4.1)。这意味着我的版本是 qt 2.3 与否跨度>
    • 我没有任何Qjson文件夹,请提供我所有使用json的东西,否则请指导我。
    • 你在说什么 qjson 文件夹,为什么?
    • 嗨 laszlo,在上面的评论中@yekmen 发布了一些类似 Qjson 文件夹的东西,这就是我告诉的原因。我没有任何类似的文件夹。请解释一下,如何在 qt 中使用 json?因为我从上周开始学习 Qt。我还有另一个问题,哪种语言最适合在 qt 中开发某些东西,因为我看到 qt 支持多种语言,例如 Pascal、c++、.net。请向我解释我要求你做的所有事情,请帮助我。
    • @user3472783:我在 yekmen 解决这个问题,而不是你。至于 on 用法,请看下面我的回答。 :)
    猜你喜欢
    • 1970-01-01
    • 2015-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-04
    • 2014-01-24
    相关资源
    最近更新 更多