182QJsonDocument QJsonDocument::fromVariant(
const QVariant &variant)
186 switch (variant.userType()) {
187 case QMetaType::QVariantMap:
188 doc.setObject(QJsonObject::fromVariantMap(get<QVariantMap>(variant)));
190 case QMetaType::QVariantHash:
191 doc.setObject(QJsonObject::fromVariantHash(get<QVariantHash>(variant)));
193 case QMetaType::QVariantList:
194 doc.setArray(QJsonArray::fromVariantList(get<QVariantList>(variant)));
196 case QMetaType::QStringList:
197 doc = QJsonDocument(QCborArray::fromStringList(get<QStringList>(variant)));
273QJsonDocument QJsonDocument::fromJson(
const QByteArray &json, QJsonParseError *error)
275 QJsonPrivate::Parser parser(json);
276 QJsonDocument result;
277 QCborValue val = parser.parse(error);
278 if (val.isArray() || val.isMap()) {
279 result = QJsonDocument(std::move(val));
280 }
else if (!val.isUndefined() && error) {
283 error->error = QJsonParseError::IllegalValue;
497QDataStream &
operator>>(QDataStream &stream, QJsonDocument &doc)
501 QJsonParseError parseError{};
502 doc = QJsonDocument::fromJson(buffer, &parseError);
503 if (parseError.error && !buffer.isEmpty())
504 stream.setStatus(QDataStream::ReadCorruptData);