#json #qt
#json #qt
Вопрос:
вот мой код.
QJsonObject distance = QJsonDocument::fromJson(databuffer).object(); qDebug()lt;lt;distance["feeds"];
теперь мой вывод таков:
QJsonValue(array, QJsonArray([{"created_at":"2021-12-06T06:11:23Z","entry_id":21,"field1":"202"}]))
мне нужно только значение определенного значения ключа «field1». как я могу его получить ? пожалуйста, помогите.
Ответ №1:
Воспользуйся distance.value("feeds").toArray().at(0).toObject().value("field1")
.
Конечно, вам следует добавить некоторую обработку ошибок в случае, если данные находятся не в той форме, как ожидалось. Но вы, вероятно, захотите сделать его более общим в зависимости от вашего варианта использования…
И небольшое пояснение: QJsonValue
является держателем общего значения и перед фактическим использованием его следует преобразовать в фактическое значение ( int
double
, QString
, bool
и т.д.) Или в контейнер QJsonArray
, который можно прочитать с помощью индекса позиции , или объект QJsonObject
, который можно прочитать по именам полей.