0 голосов
С WEB сервера получаю данные в виде такой строки. Как её распарсить наиболее быстрым способом?
(1.2 тыс. баллов) 1 10 29

3 Ответы

+1 голос

ключ=значение&ключ2=значение2 никакого отношения к json не имеют
json - javascript object notation rfc8259

Пример json представления

{
  "key1":"str1",
  "key2":int2,
  "key3":[1,2,3],
  "key4":["a","b"],
  "key5":[
    {
      "key":"val"
    },
    {
      "a":"v",
      "b":true
    }
  ]
}

(88 баллов) 7
Это всего лишь представление, которое удобно скармливать JS скрипту. В базе данных, например, запись JSON данных может быть на связанных списках или ещё как. Вопрос-то не в этом, а в том, как распарсить строку.
Ещё раз повторяю, строка "ключ=значение&ключ2=значение2" не является представлением json, и парсер json разбором таких строк не занимается.
Если хотите построить из этой строки объект json, то самым простым способом будет поиск разделителей '&', между которыми будут строки "ключ=значение" в которых также выполнить поиск разделителя '=', выделить таким образом ключ/значение и установить их объекту json.
А про парсер JSON я и не просил ничего.
0 голосов
Это POST или GET запрос HTTP сервера.

Обработка GET запроса отличается от обработки POST запроса.

У вас что за запрос POST?  GET?

Заменяйте & на терминатор строки 0х00 , а потом выполняйте сравнение строк .

Или напишите функцию помска переменной в принятой строке .
(87 баллов) 3
Да без разницы. Просто прилетает такая строчка. Её надо разложить по ячейкам массива.
0 голосов

Используйте Arduino JSON6. смотрите примеры там все есть.

(89 баллов) 3 9
У меня не arduino
Ну так с этого и нужно начинать)) Может скажете что у вас? Есть возможность помочь, но не известно в какой последовательности) Если есть возможность примените RegExp
Добро пожаловать на Бредборд! Сайт вопросов и ответов на тему Arduino, Raspberry Pi и хоббийной электроники в целом. Цель Бредборда — быть максимально полезным. Поэтому мы строго следим за соблюдением правил, боремся с холиворами и оффтопиком.
  1. BAR__MEN

    394 балл(ов)

  2. parovoZZ

    324 балл(ов)

  3. issaom

    216 балл(ов)

  4. Un_ka

    148 балл(ов)

  5. gokase

    125 балл(ов)

  6. dartWaiter

    74 балл(ов)

Награды месяца
1-е место: Arduino Nano 33 BLE Sense
2-е место: Arduino Nano 33 BLE
3-е место: Arduino Nano 33 IoT

...