我有一个QList列表。我想将它插入数据库。一些谷歌搜索后我没有找到任何序列化方法。如果有任何方法/想法来序列化数据库的列表数据?
答案 0 :(得分:3)
如何使用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
。
答案 1 :(得分:0)
这是另一个更简洁的选择:
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;
}