在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助手提供,问题来源于学员提问