• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Вопрос esp8266 webserver принять json из post запроса

AlexandreVN

Member
Здравствуйте,
как корректно принять достаточно большой (до 1кб) json переменной длины от клиента? Думаю записать в строчную переменную потом вызвать парсер. Но не уверен что так будет верно:
[inline] String po_var = server.arg("plain"); [/inline]
 

Алексей.

Active member
server.arg возвращает ссылку на константную строку, выполняя String po_var = server.arg("plain"); вы создаете дубликат этой строки, зачем не ясно.
Собираетесь отставить эту строку прозапас, в то время как сервер будет обрабатывать другие запросы?
Или парсер не может работать с ссылками на константные строки?
 

Сергей_Ф

Moderator
Команда форума
@Алексей. Думаю, что @AlexandreVN не уверен, что МК успеет распарсить ответ, до получения следующего.
@AlexandreVN В любом случае, лучше смотреть в сторону потокового парсера json. Так не будет пожирания памяти и будут актуальные данные. Даже где-то пример проскакивал для esp. Поищите.
 

Алексей.

Active member
В любом случае, лучше смотреть в сторону потокового парсера json.
Если самостоятельно получать поток для передачи его парсеру, то придется самостоятельно выполнять разбор http запросов. Определять какой метод выполняется и для какого url, разбирать заголовки и т.п.
Например веб-сервер используется для настройки esp, браузер выполняет множество запросов, запрашивает кроме основного url ещё favicon, а на основной странице ещё и ссылки на скрипты, стили, для которых браузер тоже будет выполнять запросы, и только для одного запроса (для сохранения конфигурационных параметров) нужно выполнять разбор json.
Библиотека веб-сервера существенно облегчает задачу по обработке запросов.
 
Сверху Снизу