当前位置: 首页 > 面试题库 >

Qt使用QJsonDocument,QJsonObject,QJsonArray解析JSON

公冶光亮
2023-03-14
问题内容

我正在使用Qt5。我正在尝试从json对象获取值。这是我试图从中获取数据的json对象的外观:

{
    "success": true,
    "properties": [
        {
            "ID": 1001,
            "PropertyName": "McDonalds",
            "key": "00112233445566778899aabbccddeeff"
        },
        {
            "ID": 1002,
            "PropertyName": "Burger King",
            "key": "10112233445566778899aabbccddeeff"
        },
        {
            "ID": 1003,
            "PropertyName": "Taco Bell",
            "key": "20112233445566778899aabbccddeeff"
        }
    ]
}

我怎样才能创建一个包含三个阵列properties[x].IDproperties[x].PropertyNameproperties[x].keyQt中?

编辑:

使用QScriptEngine我尝试了这个:

QString data = (QString)reply->readAll();

QScriptEngine engine;

QScriptValue result = engine.evaluate(data);

qDebug() << result.toString();

调试说“ SyntaxError:解析错误”


问题答案:

我想到了:

QStringList propertyNames;
QStringList propertyKeys;
QString strReply = (QString)reply->readAll();
QJsonDocument jsonResponse = QJsonDocument::fromJson(strReply.toUtf8());
QJsonObject jsonObject = jsonResponse.object();
QJsonArray jsonArray = jsonObject["properties"].toArray();

foreach (const QJsonValue & value, jsonArray) {
    QJsonObject obj = value.toObject();
    propertyNames.append(obj["PropertyName"].toString());
    propertyKeys.append(obj["key"].toString());
}


 类似资料:
  • PyQt安装程序附带一个名为Qt Designer的GUI构建器工具。 使用其简单的拖放界面,可以快速构建GUI界面,而无需编写代码。 但是,它不是像Visual Studio这样的IDE。 因此,Qt Designer没有调试和构建应用程序的工具。 使用Qt Designer创建GUI界面首先要为应用程序选择顶级窗口。 然后,您可以从左窗格的窗口小部件框中拖放所需的窗口小部件。 您还可以为表单上

  • 问题内容: 我需要通过Qt解析JSON对象。最简单/最快的方法是什么? 问题答案: 试试QJson。 QJson是积极开发的(如果没有记错的话,将由KDE使用)。最好的办法是直接签出源代码并自己构建。没有对QJson的依赖(Qt和CMake除外)。使用起来也很简单,请看一些用法示例: http://qjson.sourceforge.net/usage/

  • 问题内容: 我正在尝试找到一种用C解析JSON的好方法。我真的不需要庞大的库或任何东西,我宁愿拥有体积小,重量轻,功能最少的东西,但有很好的文档。 有人有什么可以指点我的吗? 问题答案: Json并不是一门强大的语言,因此它的库可能很小(至少比Xml库要小)。 有一个整体吨C中的Json.org库链接。也许其中之一会很适合您。

  • 问题内容: 我正在尝试解析来自服务器的输出,如下所示: 我正在尝试使用Java org.json对其进行解析,但是我对JSON / org.json没有任何经验,因此遇到了一些麻烦。我该如何解析? 问题答案: 1)假设您的路径上有JSON库(来自www.json.org),这很简单。 从那里,您可以处理JSON对象的各个部分。看一下Javadocs的细节。 https://developer.an

  • 本文向大家介绍PyQt 图解Qt Designer工具的使用方法,包括了PyQt 图解Qt Designer工具的使用方法的使用技巧和注意事项,需要的朋友参考一下 前言 Qt Designer是PyQt程序UI界面的实现工具,Qt Designer工具使用简单,可以通过拖拽和点击完成复杂界面设计,并且设计完成的.ui程序可以转换成.py文件供python程序调用。本文主要通过用户登录需求描述Qt

  • 我正在使用来解析Json数据。我的Json数据如下: GsonParse.java 我使用以下方法来解析此JSON数据。 我面对以下错误。