使用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,所以我用谷歌搜索了一秒钟.这是我发现的:
你拥有的是一个字符串,一个文本表示.它不是Qt内部使用的二进制格式.二进制数据不可读.QJsonDocument::fromBinaryData
期待这样的二进制blob.
你想要做什么似乎是通过QJsonDocument::fromJson
UTF8编码的Json字符串来实现的.
我没有fromBinaryData
使用fromJson
相同的论点,而是昨天遇到了这个问题,这对我有用.