我有一个需要解析的带有JSON对象的二进制字符串。但是,当我从中创建QJsonDocument时,我得到了一个空文档。创建后,我尝试读取错误代码,但QJsonParseError包含“NoError”。我想解析的JSON太大,但是当我尝试创建小的json并解析时,我最终得到相同的结果。我的简短示例:

QJsonDocument doc;
QString json("{\"key\" : \"value\"}");
QJsonParseError error;
doc.fromJson(json.toUtf8(), &error);

最佳答案

QJsonDocument::fromJson()是静态函数。因此,您可以在没有对象的情况下调用它,并且此函数无法访问非静态类成员。使用给定的json初始化文档:

QJsonDocument doc = QJsonDocument::fromJson(json.toUtf8(), &error);

08-25 08:17