2

如何转换QVariantQJsonValue?我知道QVariant提供该toJsonValue功能,但它没有按预期执行。

例如:

qDebug()<<QVariant(1.0).toJsonValue();
qDebug()<<QVariant("test").toJsonValue();

两者都返回:

QJsonValue(null)
QJsonValue(null)

期望输出:

QJsonValue(double, 1)
QJsonValue(string, "test")
4

2 回答 2

5

你也可以使用这个静态函数:

QJsonValue::fromVariant( myVariant )

检查此链接以获取更多信息。

于 2018-04-15T18:21:29.777 回答
0

您可以执行以下操作:

QVariant dblVariant(1.0);
QVariant strVariant("test");

QJsonValue dblJs(dblVariant.toDouble());
QJsonValue strJs(strVariant.toString());

您的方法不起作用,因为 variant 对象应该具有 user type QJsonValue,但事实并非如此。因此它返回默认构造QJsonValue的对象。

于 2017-12-08T07:58:07.677 回答