问题标签 [qjson]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
18486 浏览

c++ - 如何在不使用副本的情况下更改 QJson 层次结构中的 QJsonObject 值?

我目前正在使用带有核心 QJson 库的 Qt5.0 来处理我正在开发的程序的一些数据。

为了设置这个问题的场景,我将为您提供一些 JSON 数据来说明我的问题:

这里我们有一个父 QJsonObject 包含一个键'CLOCKS'。此键的值是 QJsonObjects 的 QJsonArray,其中包含许多包含我的数据的键/值对。

如果我想检索 id 为“clk”的 QJsonObject,我目前正在使用如下代码:

这工作正常,图书馆到目前为止一直很棒。但是,当我想获取 QJsonObject引用以进行修改而不是复制时,我最近开始遇到问题。

所以我的问题是,鉴于提供的示例数据,我如何获取 QJsonObject 引用以修改所需时钟数据对象中的键/值对。问题很明显,IMO 因为您可以获得 QJsonValueRefs,它们是对值条目的引用......但是要实际访问其中的数据(如果值是另一个数组/对象),您必须使用 toArray 进行转换()、toObject() 函数等。此函数仅返回副本而不是引用,从而为使用引用向下迭代对象层次结构创建障碍。

到目前为止,我想出解决这个问题的唯一方法是创建整个“CLOCKS”QJsonArray 的副本,找到我想要的对象然后删除它并用更改的数据重新插入它......最后分配整个数组返回到父对象中的“CLOCKS”键。这对我来说似乎很麻烦,我觉得我做错了什么,必须有更好的方法。

为了支持这一点,我的代码到目前为止是这样的......只是为了更改时钟 QJsonObjects 之一的“值”:

我知道这可以缩短一点,但似乎必须有更好的方法来更改 QJson 对象层次结构中的单个值,而无需付出所有这些努力!!!

0 投票
2 回答
6148 浏览

c++ - Qt 5.0 Json 编码

我使用 qt 5.0 及其支持 QJsonObject QJsonDocument 和 QJsonArray 等类。在我的程序中,我需要序列化 ​​json 数组并将其转换为 qstring/qbytearray 但我没有在这些类中找到任何序列化或编码方法。有什么方法可以使用包含的 qt 5.0 序列化数据。库?我找到了这个例子:

但我找不到如何从中制作数组。

0 投票
1 回答
1055 浏览

windows - 使用 MinGW 在 Windows 上编译 QJson

我正在尝试为我的 Qt 项目编译QJson库并在 Windows 上运行它。我已经从 GitHub 下载了 zip,并按照项目网站上的说明进行操作:

  1. 创建的构建文件夹
  2. cmake -G "MinGW Makefiles" ..
  3. mingw32-make 并得到下一个错误: 命令输出

如果我评论 #include 那么它说 locale_t 类型未知。那么如何编译呢?

谢谢!

0 投票
2 回答
2248 浏览

c++ - Qjson 获取对象名

我有一个 json 对象,如何获取对象名称?我不能有对象名称,它将由服务器发送,这样我应该得到对象名称。

0 投票
1 回答
1567 浏览

c++ - 错误:C1083:无法打开包含文件:'QJson/Parser':没有这样的文件或目录

当我尝试运行从该链接下载的 Qt 项目时出现此错误 https://code.google.com/p/qml-google-maps/downloads/list

我正在尝试将其编译为Qt 5.0.2.

0 投票
1 回答
2847 浏览

c++ - 'operator[]' 不匹配(操作数类型是 'QVariant' 和 'const char [2]')QVariant/QVariantMap

我试图在 qt 5.1 中启动 json 的包装类,我正在开发一个函数,该函数将检查输入的 var 是 QVariantMap 还是只是 QVariant,并且一切正常,直到我进入第二级木里地门阵。这是我的数组结构和类代码。

这给我带来了问题,当我只使用“obj”或“obj[“1”]”时没有问题,只有当我

0 投票
2 回答
6651 浏览

c++ - 如何在 Qt 中使用 QJson 库

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

0 投票
2 回答
6954 浏览

c++ - Qt - 传递 QJsonObject 或 QJsonArray 的引用

我正在制作具有 Qt 树视图和 Qt Json 支持的 Json 格式数据编辑器。我想将 QJsonObject 或 QJsonArray 引用参数传递给函数。

这有效:

但不是这样:

看起来 QJsonValue::toObject() 只是复制参数。如何使用一种参数类型同时引用 QJsonObject 和 QJsonArray?

0 投票
1 回答
1470 浏览

c++ - QJson for Linux - 不确定如何正确使用 QJSON

一些背景

本来在mac上做了一个项目,现在想用我的Linux机器做同一个项目。设置文件夹依赖于:

这些不包括在我为 SL5 安装的 qt-devel 中——它使用 QT v4。所以我从 Sourceforge 下载了 QJson并使用 cmake 安装。一些示例输出:

没关系。所以我添加到我的 .pro 中:

实际问题

现在我的任务是翻译我的旧settings.cpp文件以用这种稍微新的方法解析数据。

所以现在我在 QString 中有这个 json,就像我为我的旧工作方法所做的那样,然后我尝试按照给我的说明进行解析。我用过:#include <qjson/parser.h>而且我认为我在这里不需要任何前向声明。

我得到的错误:

错误:没有匹配的函数来调用 'Qjson::Parser:parse(QString&, bool)

如果我删除包含,错误说:

QJson 没有被声明

所以它至少必须找到图书馆。关于出了什么问题的任何想法?

0 投票
1 回答
13703 浏览

c++ - 通过索引从 QJsonObject 中获取值

在我的应用程序中,我使用json对象从远程数据库中获取结果。通常响应字符串如下所示:

它看起来不错,我可以通过以下方式从指定的行/列中获得价值:

但有时我需要通过索引而不是名称来获取值。好的,我执行以下操作:

但不幸的是,它看起来keys()不保留字段顺序,因此索引为 0 的键并不完全是其QJsonObject.

所以我的问题 - 我怎样才能从QJsonObject索引而不是仅按名称获取适当的字段?