Я немного запутался в QVariantMAP/List и справочнике.
Я загружаю json с помощью QJson и конвертирую его в QVariantMAP. currentJSON["тесты"] - это QVariantList
Я хочу просмотреть currentJSON["tests"] и обновить значение item["label"]. Первый цикл пытается обновить значение, второй отображает его. К сожалению, отображаемое значение не является обновленным значением. Я предполагаю, что это проблема копирования/ссылки, но я не нахожу, как это исправить.
QVariantMap currentJSON = jObject.toVariantMap(); //jobject is the json
QVariantList l = qvariant_cast<QVariantList>(currentJSON["tests"]);
for (QVariantList::iterator hehe = l.begin(); hehe != l.end(); hehe++) {
QVariantMap test = hehe->toMap();
test["label"].setValue(QVariant("AAAAAAAAAAAAAAAAAAA"));
}
l = qvariant_cast<QVariantList>(currentJSON["tests"]);
for (QVariantList::iterator hehe = l.begin(); hehe != l.end(); hehe++) {
QVariantMap test = hehe->toMap();
//the value print is not AAAAAAAAAAAAAAAAAAA
qDebug() << test["label"].toString();
}
Если вы можете мне помочь, спасибо.
QVariantMap test = hehe->toMap();
копирует значение. Попробуйте добавить*hehe = test;
после изменения метки. - person Amartel   schedule 27.07.2015