Qt QList serialization for database

前端 未结 2 1529
囚心锁ツ
囚心锁ツ 2021-01-20 13:09

I have a QList list. I want to insert it on the database. I didn\'t find any serializer method after some googling. If there any method / idea to serialize the list data for

相关标签:
2条回答
  • 2021-01-20 13:39

    Here is another option that is a bit more succinct:

    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;
    }
    
    0 讨论(0)
  • 2021-01-20 13:41

    How about using QStringList instead of 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_;
    

    Probably QList<QString> should also work in place of QStringList. If it doesn't, well, you can convert it pretty easily to QStringList.

    QDataStream, QBuffer, QByteArray and QStringList reference.

    0 讨论(0)
提交回复
热议问题