QT开发中文网

json list结构

在 JSON 中,列表(或数组)结构可以用方括号 [] 表示。JSON 数组可以包含多个值,这些值可以是字符串、数字、对象、数组、布尔值或 null。下面是一些常见的 JSON 列表结构示例:

示例 1: 简单的字符串数组

{
    "fruits": ["apple", "banana", "orange"]
}

示例 2: 数字数组

{
    "scores": [90, 85, 88, 92]
}

示例 3: 对象数组

{
    "employees": [
        {
            "name": "John Doe",
            "age": 30,
            "position": "Software Engineer"
        },
        {
            "name": "Jane Smith",
            "age": 25,
            "position": "Designer"
        }
    ]
}

示例 4: 混合类型数组

{
    "data": [
        {"id": 1, "value": true},
        {"id": 2, "value": false},
        {"id": 3, "value": null},
        [1, 2, 3],
        "stringValue"
    ]
}

如何解析 JSON 列表

如果你在 C++ 中使用 Qt,你可以使用 QJsonArrayQJsonObject 来解析和处理这些 JSON 数据。以下是一个简单的示例代码,展示了如何解析 JSON 列表:

#include <QCoreApplication>
#include <QJsonDocument>
#include <QJsonArray>
#include <QJsonObject>
#include <QString>
#include <QDebug>

int main(int argc, char *argv[]) {
    QCoreApplication a(argc, argv);

    // 假设这是你的 JSON 字符串
    QString jsonString = R"({
        "employees": [
            {"name": "John Doe", "age": 30},
            {"name": "Jane Smith", "age": 25}
        ]
    })";

    // 将 QString 转换为 QByteArray
    QByteArray jsonData = jsonString.toUtf8();

    // 创建 QJsonDocument
    QJsonDocument doc = QJsonDocument::fromJson(jsonData);

    // 获取根对象
    QJsonObject rootObj = doc.object();

    // 获取 employees 数组
    QJsonArray employeesArray = rootObj["employees"].toArray();

    for (const auto& value : employeesArray) {
        QJsonObject employeeObj = value.toObject();
        
        QString name = employeeObj["name"].toString();
        int age = employeeObj["age"].toInt();

        qDebug() << name << ":" << age;
    }

    return a.exec();
}

总结

  • JSON 列表结构以方括号 [] 开始和结束,可以包含多种数据类型。
  • 在 C++ 中,您可以使用 Qt 提供的类来解析和操作这些 JSON 数据。


    内容由零声教学AI助手提供,问题来源于学员提问
目录导航
  • 示例 1: 简单的字符串数组
  • 示例 2: 数字数组
  • 示例 3: 对象数组
  • 示例 4: 混合类型数组
  • 如何解析 JSON 列表
  • 总结
  • 本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
    转载请注明出处:https://qt.0voice.com/?id=13157

    分享:
    扫描分享到社交APP
    上一篇
    下一篇
    发表列表
    游客 游客
    此处应有掌声~
    评论列表

    还没有评论,快来说点什么吧~

    联系我们

    在线咨询: 点击这里给我发消息

    微信号:3007537140

    上班时间: 10:30-22:30

    关注我们
    x

    注册

    已经有帐号?