Подключение пространства имён std

uPPer_Chainz
Offline
Зарегистрирован: 28.03.2021

Всем доброго дня. В общем есть вопрос, возможно странный, я не знаток ардуино. Можно ли подключить к проекту ардуино пространство имён std? Если написал какой-то бред - заранее извиняюсь, я только начал изучать С++.

Для чего это: делаю проект в университете - система автоматического климат контроля для производства. Пишу на плате NodeMCU, данные берутся API запросом с сайта openweathermap, в ответ с сервера приходит json-объект который записывается в строку. Ардуиновская библиотека не может парсить этот объект как я понимаю. Грубо говоря библиотека способна работать со строкой (массивом чаров) типа:  

char json[] =
      "{\"sensor\":\"gps\",\"time\":1351824120,\"data\":[48.756080,2.302038]}";

А с сайта приходит ответ типа:

{"lat":47.2364,"lon":39.7139,"timezone":"Europe/Moscow"}

Как я понимаю парсинг не выходит из-за отсутствия обратных слешей (видимо для ардуиновской библиотеки это escape-последовательность и на этом завязана логика парсинга).

Поэтому я решил подключить json.hpp от nlohmann, но в нем используется пространство имён std. Сам по себе файл рабочий в проектах консольного приложения например, но в проекте ардуино нет. Есть консольное приложение которое выполняет аналогичную задачу и json.hpp от nlohmann прекрасно парсит данные из ответа с сайта.

Kakmyc
Offline
Зарегистрирован: 15.01.2018

Нет там никакой логики парсинга ни на чём завязанной, все зависит от того в состоянии ты написать парсер под свою задачу или нет.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

uPPer_Chainz пишет:

я не знаток ардуино...  я только начал изучать С++.

...

Как я понимаю парсинг не выходит из-за отсутствия обратных слешей (видимо для ардуиновской библиотеки это escape-последовательность и на этом завязана логика парсинга).

Думаю, что Вы неправильно понимаете. Что, в принципе, согласуется с началом цитаты.

Выясните, что в С++ означает обраный слеш, и только потом пытайтесь понять, как работает парсинг, а не наоборот.

rkit
Offline
Зарегистрирован: 23.11.2016

Ограничено std работает в ардуино, и ограничения разные от платы к плате. Но проблема тут в том, что ты не понимаешь, что делаешь.