как распарсить такой json в qt?

347
29 апреля 2017, 23:54

здравствуйте, помогите распарсить такой json с помощью qt:

{
"data": [{
    "services": {
        "414": {
            "23": {
                "3": {
                    "user_id": null,
                    "state": "WAITING"
                }
            },
            "2": {
                "23": {
                    "user_id": null,
                    "state": "WAITING"
                }
            }
        }
    }
}]
}

числа генерируются рандомно... знаю что есть QJsonObject, но что-то никак не могу придумать. если б числа были фиксированные(их можно было бы использовать как ключи), то без проблем, а так не могу допереть

Answer 1

У QJsonObject есть метод keys, который вернет список ключей.

Если вызывать у объекта services, то получите список ["31"], по списку проходите получаете объект "31", у объекта вызываете keys и получаете ["311", "313"] и т.д.

Однако, если у вас в задаче нужно получить конкретные значения из конкретных объектов, то может попробовать JSON Path.

Или работать с строкой JSON и вытащить что нужно регуляркой

READ ALSO
Вот такие вот ошибки: [требует правки]

Вот такие вот ошибки: [требует правки]

И этот код возвращает следующие ошибки:

232
Можно ли задать ось Z в Chart

Можно ли задать ось Z в Chart

Изучаю windows forms, дошел до компонента Chart в нем есть режим 3DВозможно ли трехмерное изображение в нем графиков(задавать координаты X,Y,Z) или это...

273
Задание с learn.javascript.ru - JavaScript

Задание с learn.javascript.ru - JavaScript

Суть задания в том, чтобы изменять строку ключа объектаНадо убрать указанные слова (если они есть в строке); мой код вроде как работает, но вместе...

223
Проблемы с библиотекой SuperFish

Проблемы с библиотекой SuperFish

Всем привет ! Кто нибудь сталкивался с проблемой исчезающих стрелок при использовании библиотеки SuperFish ? Код идентичный из документации,...

256