解析JSON与数组在QT
Parse JSON with Array in QT
我想在QT中解析JSON。JSON看起来像这样:
{
"result": "ok",
"phrase": "katze",
"tuc": [
{
"meaningId": -6468009888908805000,
"meanings": [
{
"text": "common name for animals",
"language": "eng"
}
],
"phrase": {
"text": "cats",
"language": "eng"
}
},
{
"meaningId": -1913936533709497000,
"phrase": {
"text": "felis catus",
"language": "eng"
}
},
{
"meaningId": 8369732998154311000,
"phrase": {
"text": "jack",
"language": "eng"
}
}
],
"from": "deu"
}
我使用下面的代码:
void Slovari::fileIsReady( QNetworkReply * reply)
{
QByteArray rawData = reply->readAll();
QJsonDocument doc(QJsonDocument::fromJson(rawData));
QJsonObject jsonObject = doc.object();
QVariantMap mainmap = jsonObject.toVariantMap();
QVariantList phraseList = mainmap["tuc"].toList();
}
所以我得到了"tuc"数组的变体列表。一般来说,我想获得所有对象的关键字"短语"和他们的值,这是这个数组的内容。有办法把它弄出来吗?或者这对QVariantList不起作用?
解决方案可以是
QVariantList phrases;
Q_FOREACH (const QVariant &v, phraseList) {
QVariantMap m = v.toMap();
if (m.contains("phrase")) {
phrases << m["phrase"].toMap();
}
}
相关文章:
- 使用 Qt 解析 JSON 数组
- 字符指针的 Qt 数组
- Qt并发错误:用作初始值设定项的数组
- 在 Qt 中解析嵌套的 JSON 时出现意外结果(数组不存在)
- Qt并发错误:数组初始化需要大括号括起来的初始值设定项列表
- 使用 Qt qSort() 在数组上调用 qSort
- 我有一个 Qt 对象的 2d 数组,我已经用值播种了这些对象。如何访问数组中特定对象的值并更改它们?
- 从QT的Web服务中解析未命名的JSON数组
- QT和SQLITE:使用数组的元素过滤
- 删除字节数组 : Qt 缓冲区之间的空字符 (\x00)
- qt如何连接QPushButton的2D数组并返回位置
- 从麦克风到整数数组 (C++/Qt) 的示例音频
- QML/QT 无法将 C++ 中的 QList<QVariantMap> 转换为 JavaScript 中的对象数组
- 如何替换QT QML中的变体数组文本
- 在 qt c++ 中获取 Json 数组中 Qstring 的输出
- 将 qbyte 数组中的长行拆分为 qt 中的多行
- 如何使用 QT 创建 JSON 数组
- 在QT中确定的已收到的字符串后,如何保存在数组中
- Qt:数组或字典如何从qscriptengine传递
- Qt数组中的C++不允许传入或操作值