QT开发中文网

qt创建一个对象数组,然后赋值到另一个对象里

在Qt中,你可以使用QList来创建对象数组,并将这个数组赋值给另一个对象的属性。以下是一个示例代码:

#include <QCoreApplication>
#include <QDebug>

class MyObject {
public:
    int id;
    QString name;
};

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

    // 创建对象数组
    QList<MyObject> objectList;
    MyObject obj1 {1, "Object 1"};
    MyObject obj2 {2, "Object 2"};
    MyObject obj3 {3, "Object 3"};
    objectList.append(obj1);
    objectList.append(obj2);
    objectList.append(obj3);

    // 创建包含对象数组的JSON对象
    QJsonObject jsonObject;
    
   // 将对象数组转换为JSON数组
   QJsonArray jsonArray;
   for (const auto& obj : objectList) {
       QJsonObject itemObj;
       itemObj["id"] = obj.id;
       itemObj["name"] = obj.name;
       jsonArray.append(itemObj);
   }

   // 将JSON数组赋值给JSON对象的属性
   jsonObject["objects"] = jsonArray;

   // 输出结果
   QJsonDocument jsonDoc(jsonObject);
   QString jsonString = jsonDoc.toJson(QJsonDocument::Compact);
   qDebug() << jsonString;

   return a.exec();
}

上述代码创建了一个包含三个MyObject实例的对象数组objectList,并将它们转换成JSON格式后赋值给名为”objects”的属性,在最后将该JSON对象转换为字符串输出。运行该代码会输出以下结果:

{"objects":[{"id":1,"name":"Object 1"},{"id":2,"name":"Object 2"},{"id":3,"name":"Object 3"}]}

希望对你有所帮助!


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:http://qt.0voice.com/?id=11062

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?