Запрос на пример программы для анализа вложенных объектов с использованием Rapidjson

Я пытался проанализировать некоторые данные JSON, содержащие вложенные объекты, такие как ниже.

{"channels": {"route1": {"post1": "/opt/v1/route1"}, "route2": {"post2": "/opt/v1/route2"}, "route3": {" post3": "/opt/v1/route3"}}}

Чтобы получить строку имени и значения, мой подход состоит в том, чтобы получить ссылку на каждый объект Value и последовательно их проанализировать. Из-за структуры вложенных объектов мне приходится хранить ссылки в контейнере, таком как стек STL, чтобы вернуться в правильное положение. Однако проблема заключается в том, что невозможно сохранить ссылочную переменную в стеке STL из-за типа данных ссылки.

Я также попытался создать структуру, содержащую ссылочную переменную экземпляра Value, и определить переменную-указатель структуры для сохранения в стеке STL. Но когда я попытался поместить указательную переменную в стек. Программа завершается.

Есть ли у вас какие-либо идеи, как анализировать такие вложенные объекты?


person user3533667    schedule 18.04.2014    source источник


Ответы (1)


Взгляните на http://www.json.org/, и вы найдете там список C++ Парсеры JSON, которые вы можете использовать для решения своей проблемы.

Все они будут иметь какое-то определение класса, которое поможет вам получить доступ к вложенным атрибутам.

Если у вас нет очень специальных требований, вы, вероятно, не захотите писать свой собственный синтаксический анализатор, так как это сложнее, чем кажется на первый взгляд.

person Soren    schedule 18.04.2014