我有一个QList列表,想要将其插入到数据库中。经过一些谷歌搜索,我没有找到任何序列化器方法。是否有任何方法/思路可以将列表数据序列化到数据库中?
我有一个QList列表,想要将其插入到数据库中。经过一些谷歌搜索,我没有找到任何序列化器方法。是否有任何方法/思路可以将列表数据序列化到数据库中?
QStringList
而不是 QList<QString>
,你觉得怎么样?QStringList numberList_; // instead of QList<QString>, use this
QString myString1 = "Hello";
QString myString2 = "World";
numberList_ << myString1;
numberList_ << myString2;
QByteArray byteArray;
QBuffer buffer(&byteArray);
QDataStream out(&buffer);
out << numberList_;
QList<QString>
也可以替换 QStringList
。如果不行,你可以很容易地将其转换为 QStringList
。这里有另一个更为简洁的选项:
QString serialize(QStringList stringList)
{
QByteArray byteArray;
QDataStream out(&byteArray, QIODevice::WriteOnly);
out << stringList;
return QString(byteArray.toBase64());
}
QStringList deserialize(QString serializedStringList)
{
QStringList result;
QByteArray byteArray = QByteArray::fromBase64(serializedStringList.toUtf8());
QDataStream in(&byteArray, QIODevice::ReadOnly);
in >> result;
return result;
}