下面是简单的代码:
QByteArray ba = jdoc.toBinaryData();
QJsonDocument jdoc2;
jdoc2.fromBinaryData(ba);
qDebug() << jdoc.isNull();
qDebug() << jdoc2.isNull();
Result: jdoc
not null, but jdoc2
is null。我做错了什么?看起来jdoc2.fromBinaryData(ba);
根本不起作用。我使用Qt 5.5.0
QJsonDocument::fromBinaryData是一个静态方法。你需要写:
jdoc2 = QJsonDocument::fromBinaryData( ba );
fromBinaryData
是一个静态函数:您的调用不会影响jdoc2
。试试下面的命令:
QByteArray ba = jdoc.toBinaryData();
QJsonDocument jdoc2 = QJsonDocument::fromBinaryData(ba);