gpt4 book ai didi

c++ - 在 QT 中解析 JSON 对象中的 JSON 对象

转载 作者:行者123 更新时间:2023-11-28 00:24:27 25 4
gpt4 key购买 nike

我正在使用 QT5 尝试解析此 JSON 文件。

格式

{
"HwDescription": {
"ConnectionsName": "file://settings/connections_2CBC.xml",
"ShelveId": "0",
"BeBoard": {
"Id": "0",
"connectionId": "board0",
"boardType": "GLIB"
}
}
}

如您所见,“HwDescription”中有对象。我不知道如何提取它们。我可以很好地进行 1D。

我的尝试

首先我创建对象:

QJsonParseError json_parse_error;
QJsonDocument json_doc = QJsonDocument::fromJson(rawJson.toUtf8(), &json_parse_error);
QJsonObject json_result= json_doc.object();
return std::make_pair(json_result, json_parse_error);

这会返回我的 json_result 作为 QJsonObject - 别担心 - 这部分绝对有效。

使用我的调试器,我可以看到原始 json 确实已被正确传递。所以一个

auto json_obj = json_result.first; //my breakpoint shows me that the data made it this far
//auto connection = json_obj.toObject(); //says there is no member named toObject in QObject

//none of the below methods work

auto test = json_obj["HwDescription","ConnectionsName"].toString();
QJsonArray cmd_array= json_obj["HwDescription"].toArray();
QStringList cmd_list;
for (auto item: cmd_array)
{
cmd_list.append(item.toString());
}
m_modelCommands.setStringList(cmd_list);

//m_connectionsName = json_obj["HwDescription"].toString(); //this doesn't work either

我知道这是我解析的方式不正确,有人可以快速告诉我哪里出错了吗?然后我也可以为我的 3D 对象执行此操作。

最佳答案

我想你需要这样的东西:

auto json_obj = json_result.first;

QJsonObject obj_HwDescription = json_obj["HwDescription"].toObject();
QString str_ConnectionsName = obj_HwDescription["ConnectionsName"].toString();
// ...
QJsonObject obj_BeBoard = obj_HwDescription["BeBoard"].toObject();
// ...

文档:

关于c++ - 在 QT 中解析 JSON 对象中的 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25789788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com