gpt4 book ai didi

c++ - 在C++/Qt中以文本格式序列化数据结构

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:15:44 24 4
gpt4 key购买 nike

我需要将一些数据结构存储到SQL数据库中。这些数据可能会有所不同,所以我不知道数据库必须包含哪些字段。我即将将数据结构编码为XML或JSON对象,然后将其放入SQL数据库中。但这无法正常工作,因此我需要序列化,因为问题在于对该结构进行编码。

我可以使用哪种库/工具/方法将数据结构序列化/反序列化为文本?假设一个数据结构由一些整数,一些Unicode字符串和一些 bool(boolean) 值组成。

提前谢谢了!

最佳答案

您如何处理数据库中的这些数据?如果要以其他程序或语言使用它,则您的数据需要可读,并且可以使用QXmlStreamWriter / Reader或QJsonDocument(两者都与QByteArray一起使用)。

如果您不想在程序外使用数据,则可以使用QDataStream在QByteArray中写入它们。

就像下面的代码一样。

QByteArray data;
QDataStream stream(&data);
stream << yourClasses;
sqlQuery.bindValue(data);

您只需要在要序列化的类中添加流运算符:
QDataStream &operator<<(QDataStream &, A const&);
QDataStream &operator>>(QDataStream &, A &);

关于c++ - 在C++/Qt中以文本格式序列化数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19185853/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com