Analiza payload

Mam problem z napisaniem funkcji. Na wejściu dostaję dane w postaci tablicy obiektów:

1

Muszę sprawdzić czy w danych wejściowych występuje konkretny mac adres. Proszę o parę wskazówek jak napisać pętlę i jakie warunki w niej sprawdzać. Mam doświadczenie w programowaniu, jednak javascript jest mi zupełnie obcy.

@Photon tak by to wyglądało bez testów. Sprawdź czy działa i daj znać.
image
SearchMAC.json (581 bajtów) - EDIT - Funkcja nie dziala prawidłowo w dalszej części dyskusji poprawiona

var searchMAC // przechowuje tablice z adresami MAC poszukiwanych urządzeń.

1 polubienie

Dzięki @Marcin za tak szybką odpowiedź. Na pewno twój kod bardzo mi pomoże. Ładnych parę lat temu programowałem w C, pytonie, dBase, bash itp. więc myślę, że i tutaj sobie poradzę. Musze opanować składnię javascript a takie przykłady bardzo pomagają. Jeszcze raz wielkie dzięki.

Do realizacji celu próbowałem również wykorzystać nod “change”.


Jednak dla mojego payload wyszukiwanie nie działa. Co jest nie tak?

Chyba mi się przysnęło :slight_smile:

Zaczynamy od początku:
Dane wejściowe które podałeś:

Przetwarzanie:



Przykład1.json (5,8 KB)

Przetwarzanie z dodatkowymi danymi wejściowymi:


Przykład2.json (6,4 KB)

Przetestowana funkcja do identyfikacji MAC:
SearchMAC.json (702 bajty)
image
jeżeli zmienisz linie 18 na np.: msg.znalezioneMAC=msgOut nie usuniesz danych wejściowych będących w zmiennej payload
image

Marcinie, dzięki Twojemu pierwszemu przykładowi już wczoraj problem rozwiązałem w ten sposób:

Można ewentualnie dodać drugą tego typu pętlę i funkcja będzie wyszukiwać wiele zadanych adresów. Więc sprawę funkcji mamy załatwioną.

Mnie jednak nadal nurtuje dlaczego nod change (patrz mój post wyżej) nie wyszukuje w moim wejściowym payload podanego MACa. Jeśli na wejściu testowo dam tylko łańcuch zawierający szukany MAC to działa OK, jeśli jednak dam mój payload, ten z pierwszego postu, który składa się z wielu objektów to niestety nod change mac adresu nie znajduje. Nie wiem na czym polega problem, potrafisz pomóc?

Z telefonu Ci nie pomogę. Spróbuję przyjrzeć się zasadzie działania temu nodowi jak wrócę do domu. Jak na niego klikniesz, to masz w prawym oknie pełen opis dostępnych opcji.
Myślałem że z nim kombinujesz, bo moja funkcja miała błędy i nie mogłeś dojść z nią do ładu.

@Photon change nie chodzi po tablicy. to jest proste wyszukiwanie łańcucha dlatego jak podajesz jako payload cały obiekt to change tego nie ogarnie.

@artur rozumiem, lecz gdzie tą wiedzę można zdobyć? własne doświadczenie? W opisie noda ani słowa o takim ograniczeniu.

@Photon to wiem z doświadczenia, a generalnie siedzę i czytam rożne dokumentacje gdzie tylko znajdę itp.

6 postów zostało podzielonych na nowy temat: Analiza treści EMAIL przychodzących (rachunki itp.)