使用 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
我错过了什么吗?
最佳答案
我不知道 Qt,所以我用谷歌搜索了一下。 Here's what I found :
您拥有的是一个字符串,一种文本表示形式。它不是 Qt 内部使用的二进制格式。二进制数据将不可读。 QJsonDocument::fromBinaryData
需要这样的二进制 blob。
你想做的事情似乎可以通过 QJsonDocument::fromJson
实现,它需要一个 UTF8 编码的 Json 字符串。
关于c++ - 为什么 Qt 拒绝有效的 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20282415/