这是一个简单的代码:
QByteArray ba = jdoc.toBinaryData();
QJsonDocument jdoc2;
jdoc2.fromBinaryData(ba);
qDebug() << jdoc.isNull();
qDebug() << jdoc2.isNull();
结果:jdoc
不为空,但jdoc2
为空。我究竟做错了什么?看起来jdoc2.fromBinaryData(ba);
根本不起作用。
我使用Qt 5.5.0
答案 0 :(得分:4)
QJsonDocument::fromBinaryData是一种静态方法。你需要写:
jdoc2 = QJsonDocument::fromBinaryData( ba );
答案 1 :(得分:2)
fromBinaryData
是一项静态功能:您的通话不会影响jdoc2
。请尝试以下方法:
QByteArray ba = jdoc.toBinaryData();
QJsonDocument jdoc2 = QJsonDocument::fromBinaryData(ba);