Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Kenny_Dalglish
-10 / 2 / 1
Регистрация: 08.01.2015
Сообщений: 306
Завершенные тесты: 1
#1

JSON парсер С++ - C++

20.10.2015, 19:38. Просмотров 1243. Ответов 10
Метки нет (Все метки)

Доброго времени суток, уважаемые пользователи cyberforum!
Хотелось бы уточнить каким парсером лучше всего пользоваться? (Для вопроса/ответа)
У меня на примете rapidjson, но проблема вся в том, что я не знаю как подключить данный парсер.

Прощу Вашей помощи, либо помочь подключить rapidjson либо порекомендовать другой парсер с русскоязычной документацией (С английским языком у меня все плохо )

Заранее спасибо!
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2015, 19:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос JSON парсер С++ (C++):

Посоветуйте парсер с минимальным набором инстализации json, xml, ini - C++
Всем привет, нужен парсер чего-нибудь что переводит текст в переменной string в обычные С++ переменные. Есть сервер на php, который может...

SAX json парсер - C++
Вечер добрый. Есть задача реализовать SAX-парсер JSON-a (парсинг не во временные переменные, а сразу в текущие, на которые...

Парсер - C++
Здраствуйте! Есть видео файл. Я хочу найти в нем определенную структуру. Для этого мне нужно найти определенную последовательность...

парсер - C++
Добрый день, у меня возникла вот такая вот проблема... При работе парсера, он разделяет строки как и задуманно, но появляются...

Парсер на С - C++
вопшем есть файл с текстом..... в етом файле есть какие даные(мусор)...и есть дни: Понедельник,Вторник,среда......с етого файла нада...

Парсер - C++
Возник вопрос как лучше написать парсер. Интересно просто услышать советы. Грамматика примерно такова. /* Grammar * * Expr...

10
EugeneQ
1 / 1 / 0
Регистрация: 20.06.2014
Сообщений: 47
20.10.2015, 19:45 #2
Разве rapidjson ненадо сначала в cmake сгенерировать?
0
Kenny_Dalglish
-10 / 2 / 1
Регистрация: 08.01.2015
Сообщений: 306
Завершенные тесты: 1
20.10.2015, 19:48  [ТС] #3
Четно, не знаю.
0
EugeneQ
1 / 1 / 0
Регистрация: 20.06.2014
Сообщений: 47
20.10.2015, 19:58 #4
Если rapidjson взяли с git, то надо cmake для генерации и doxygen(для документации).
0
Убежденный
Ушел с форума
Эксперт С++
15793 / 7230 / 1138
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
20.10.2015, 20:56 #5
Цитата Сообщение от Kenny_Dalglish Посмотреть сообщение
У меня на примете rapidjson, но проблема вся в том, что я не знаю как подключить данный парсер.
Взять и почитать документацию (например, файл readme).
То же самое с вероятностью 99% будет ждать при использовании
любой другой библиотеки. Да, кстати, rapidjson - это header-only
библиотека, ничего предварительно там собирать не нужно.
0
Fulcrum_013
1213 / 904 / 91
Регистрация: 14.12.2014
Сообщений: 7,517
Завершенные тесты: 3
20.10.2015, 21:03 #6
Цитата Сообщение от Kenny_Dalglish Посмотреть сообщение
Хотелось бы уточнить каким парсером лучше всего пользоваться? (Для вопроса/ответа)
Вопрос с в том как конкретно намечается пользовать парсер. Даже для вопрос/ответ есть варианты. Например парсер с "фильтратором базара" - т.е. завершает парсинг когда выбрал из ответа нужные данные и пропускает пакеты ненужного типа, оказалось быстрее написать свой чем модифицировать тот который был в комплекте фреймверка или искать готовый.
0
S_el
2124 / 1651 / 311
Регистрация: 15.12.2013
Сообщений: 6,476
20.10.2015, 22:27 #7
Kenny_Dalglish, сам не пользовался,но этот выглядит неплохо:
https://github.com/nlohmann/json
2
Kastaneda
Jesus loves me
Эксперт С++
4722 / 2926 / 242
Регистрация: 12.12.2009
Сообщений: 7,440
Записей в блоге: 2
Завершенные тесты: 1
20.10.2015, 23:21 #8
Я использую rapidjson, просто скачал исходники и в билд ситстеме указал дополнительный INCLUDE PATH.
Плюс rapidjson'а в том, что он поддерживает 2 режима разбора - SAX и DOM. Какой выбрать зависит от ситуации. Я тут еще на досуге для него обертку накатал, чтоб был единый синтаксис с mongodb'шными С++'ыми BSON'ами

Добавлено через 5 минут

Не по теме:

Цитата Сообщение от S_el Посмотреть сообщение
,но этот выглядит неплохо:
https://github.com/nlohmann/json
Тоже посмотрел, синтаксис гораздо красивее, чем у rapidjson и интеграция с STL хорошая. Еще интересно было бы на бенчмарки перфоманса относительно rapidjson посмотреть.

0
Lightk
6 / 6 / 1
Регистрация: 14.04.2012
Сообщений: 27
21.10.2015, 00:27 #9
Можно подтянуть property_tree с boost'a, если не ошибаюсь - девелоперы буста на основе rapidjson'a делали функционал.
0
Kastaneda
Jesus loves me
Эксперт С++
4722 / 2926 / 242
Регистрация: 12.12.2009
Сообщений: 7,440
Записей в блоге: 2
Завершенные тесты: 1
21.10.2015, 10:09 #10
Цитата Сообщение от Lightk Посмотреть сообщение
Можно подтянуть property_tree с boost'a
Тоже иногда им пользуюсь, вот пример. Имхо - им можно пользоваться, если проект не завязан на json'е, т.е. где-то в одном месте понадобилось кусок распарсить и boost уже используется, тогда удобно чтоб другие библиотеки с собой не тянуть. Если предвидится большая работа с json, то ptree не лучший выбор.
0
ForEveR
В астрале
Эксперт С++
7988 / 4747 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
21.10.2015, 10:51 #11
Да, rapid-json хороший вариант. Самое главное для нас было что есть SAX режим. И поэтому библиотечку парсящую/собирающую json in-place прямо в объекты, без промежуточного хранилища, было написать не так уж сложно. Можно еще посмотреть на cereal.

Добавлено через 13 минут

Не по теме:

https://github.com/nlohmann/json - клевая библиотека судя по виду. Но lexer просто убиться веником. Видимо просто код выданный yacc взяли, чтобы не тащить сам yacc.

0
21.10.2015, 10:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2015, 10:51
Привет! Вот еще темы с ответами:

Парсер - C++
Доброго времени суток форумчане! Хочу написать парсер (я великий велосипедист). Язык реализации С++ или Java. Парсер нужен для того чтобы...

парсер строки - C++
Народ, помогите, плиз! проблема такая : сперва считываю строку из файла string value; getline (file, value, '\n'); ...

PDF парсер - C++
Задача заключается в следующем: нужно написать прогу, которая будет отображать PDF контент по мере его загрузки, т.е. есть поток данных со...

Простой парсер - C++
По идее, программа должна справа налево пробегать каждый символ введенной строки и переводить их в числа, если встречается "+" или "-"...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru