Зачем использовать \" в коде arduino?
Работая с синтаксическим анализом JSON, я заметил, что строка данных типа char записывается следующим образом:
char json[] = "{\"sensor\":\"gps\",\"time\":1351824120,\"data\":[48.756080,2.302038]}";
Почему в коде используются (escapes) "---"? Почему мы не можем использовать строку нормально?
@Sohan Arafat, 👍1
Обсуждение1 ответ
Лучший ответ:
Почему в коде используются (escapes) "---"? Почему мы не можем использовать строку нормально?
Потому что требуются побеги.
В C "
означает "Начало или конец строки", но \"
означает "Символ двойной кавычки".
Должен быть способ отличить символ двойной кавычки от разделителя строк, чтобы компилятор знал, что есть что. Без экранирования ваша строка будет выглядеть так:
char json[] = "{"sensor":"gps","time":1351824120,"data":[48.756080,2.302038]}";
и компилятор найдет конец строки во втором "
, а затем кучу мусора, прежде чем найдет символ end-of-statement ;
. Он не может понять, каким должен быть датчик":"gps", "time":1351824120,"data":[48.756080,2.302038]}"
, так как он находится не в строке, а после нее.
- Создание строк с символами UTF-8 из данных
- String() против char для простого управления потоком
- Как анализировать многострочные последовательные данные с неизвестным количеством строк?
- Изменить строку типа данных
- Преобразование строки в целое число
- Как разделить входящую строку?
- Как вывести несколько переменных в строке?
- Как получить тип данных переменной?
Попробуйте без него и посмотрите, что получится ;-), @SBF