Qt 5.10以下版本中如何索引无命名QJsonDocument?
Qt 5.10以下版本实现QJsonDocument数组索引访问的方法
Qt 5.10之前的版本里,QJsonDocument并没有直接提供operator[]来访问数组元素,要实现相同的索引访问逻辑,需要先提取文档对应的QJsonArray对象,再通过数组的索引接口操作:
两种实现方式:
- 使用QJsonArray的
operator[]
直接获取数组后用下标访问,示例代码:
// 假设json_doc是已解析完成的QJsonDocument实例,且为数组类型 QJsonArray jsonArray = json_doc.array(); QJsonValue targetValue = jsonArray[1]; // 访问索引为1的元素
- 使用QJsonArray的
at()方法(推荐,带边界检查)at()方法会自动做数组边界校验,避免越界访问,示例:
QJsonArray jsonArray = json_doc.array(); if (jsonArray.size() > 1) { // 先确认索引有效 QJsonValue targetValue = jsonArray.at(1); }
额外注意:
操作前建议先判断文档是否为数组类型,避免类型错误:
if (json_doc.isArray()) { // 执行上述数组访问操作 }
内容的提问来源于stack exchange,提问作者Amanda Helgström
相关产品推荐
相关产品推荐

