ESP8266 Удаление дубликатов IP

Тема в разделе "Arduino & Shields", создана пользователем mcmega, 16 апр 2017.

  1. mcmega

    mcmega Нуб

    Всем привет!
    Делаю сканер устройств в сети (SSDP), для большей надежности отправляю несколько широковещательных запросов последовательно. Устройства отвечают и я записываю во временную переменную принятые IP адреса приведенные к формату JSON:

    [{"STAip":"192.168.0.10"},{"STAip":"192.168.0.12"},{"STAip":"192.168.0.12"},{"STAip":"12192.168.0.10}]

    соответственно некоторые устройства отвечают не один раз и в строке образуются дубликаты данных.., поэтому нужно привести входную строку к виду:

    [{"STAip":"192.168.0.10"},{"STAip":"192.168.0.12"}]

    Пробовал использовал библиотеку для работы с JSON https://github.com/bblanchon/ArduinoJson
    Но задачу решить не удалось при компиляции https://github.com/bblanchon/ArduinoJson/issues/479

    Подскажите, как можно осуществить удаление дублирующихся объектов из массива JSON?
     
  2. rkit

    rkit Гуру

    Не оперируйте данными в JSON в памяти. Это чудовищно неэффективно. Используйте std::unordered_map, или std::map, если устройств не больше полусотни.
     
  3. mcmega

    mcmega Нуб

    а можете пример набросать, не силен я с этих новых вещах...