对象的 QJsonDocument 为空
QJsonDocument to object is empty
我正在尝试在 Qt5 中解析一个简单的 JSON 数据。
代码如下所示:
...
socket->readDatagram(Buffer.data(),Buffer.size(),&sender,&senderPort);
QJsonParseError jsonError;
QJsonDocument dataJson = QJsonDocument::fromJson(Buffer.data(),&jsonError);
if (jsonError.error != QJsonParseError::NoError){
qDebug() << jsonError.errorString();
}
QJsonObject map = dataJson.object();
//map["x"].toDouble()
但由于某种原因,我的地图是空的,这是调试快照:
我该如何解决这个问题?
数据:
'{\"x\":1,\"y\":2,\"z\":3}'
假设您阅读正确,您应该使用如下命令进行测试:
echo -n \{\"x\":1,\"y\":2,\"\z\":3\} > /dev/udp/127.0.0.1/8080
因此,去掉单引号并转义大括号。
更好:将您的 json 数据放入 myfile
文件并使用 cat myfile > /dev/udp/127.0.0.1/8080
我正在尝试在 Qt5 中解析一个简单的 JSON 数据。
代码如下所示:
...
socket->readDatagram(Buffer.data(),Buffer.size(),&sender,&senderPort);
QJsonParseError jsonError;
QJsonDocument dataJson = QJsonDocument::fromJson(Buffer.data(),&jsonError);
if (jsonError.error != QJsonParseError::NoError){
qDebug() << jsonError.errorString();
}
QJsonObject map = dataJson.object();
//map["x"].toDouble()
但由于某种原因,我的地图是空的,这是调试快照:
我该如何解决这个问题?
数据:
'{\"x\":1,\"y\":2,\"z\":3}'
假设您阅读正确,您应该使用如下命令进行测试:
echo -n \{\"x\":1,\"y\":2,\"\z\":3\} > /dev/udp/127.0.0.1/8080
因此,去掉单引号并转义大括号。
更好:将您的 json 数据放入 myfile
文件并使用 cat myfile > /dev/udp/127.0.0.1/8080