使用Qt-5.0,我有这个JSON字符串
{"type":"FILE"}
我希望fromBinaryData
接受.toLocal8Bit()
字符串作为有效格式,但事实并非如此。
QString j = "{\"type\":\"FILE\"}";
auto doc = QJsonDocument::fromBinaryData(j.toLocal8Bit());
doc.isNull() // It's true, means the entry is not valid
我错过了什么吗?
答案 0 :(得分:12)
我不知道Qt,所以我用Google搜索了一秒钟。 Here's what I found:
你所拥有的是一个字符串,一个文本表示。它不是Qt内部使用的二进制格式。二进制数据不可读。 QJsonDocument::fromBinaryData
期待这样的二进制blob。
您想要做的事情似乎是通过QJsonDocument::fromJson
来实现的,它需要一个UTF8编码的Json字符串。
答案 1 :(得分:8)
而不是fromBinaryData
使用fromJson
使用相同的参数,我昨天遇到了这个问题,这对我有用。