I cannot extract a given value from a JSON string
"{"link_type":"LINKTYPE_ETHERNET","pcap_header":{"tv_sec":1604652189,"tv_usec":589164,"caplen":141,"len":141},"payload":{"dhost":{"addr":[128,120,113,67,87,122]},"shost":{"addr":[8,0,39,206,160,222]},"ethertype":2048,"vlan":null,"payload":{"version":4,"headerLength":20,"diffserv":0,"length":127,"identification":35053,"flags":{"reserved":false,"doNotFragment":true,"moreFragments":false},"fragmentOffset":0,"ttl":64,"protocol":17,"headerChecksum":29454,"saddr":{"addr":[192,168,1,55]},"daddr":{"addr":[84,88,40,59]},"payload":{"sport":445,"dport":445,"length":107,"checksum":16111,"data":{"type":"Buffer","data":[255,255,255,255,255,255,8,0,39,206,160,222,137,71,17,0,26,1,32,80,0,128,0,45,1,0,0,0,8,0,39,206,160,222,167,132,17,153,25,84,8,250,206,69,32,241,1,240,7,204,0,0,0,0,7,209,0,0,2,2,0,0,0,224,163,28,0,89,202,89,122,205,146,170,205,0,0,0,0,0,48,212,30,0,225,31,192,250,126,191,233,237,7,55,254,235,255,246,0]}}}}}"
I would like to extract the data, inside data (all the numerical values), but I couldn't get it putting a code inside a function. Iv'e tried a simple approach, just getting "link_type" by:
p = msg.payload[0].link_type
return p;
I get the same string. The flow is this:
[{"id":"268be8ad.9ee5b","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"f4fb43b8.f9d7d","type":"pcap","z":"268be8ad.9ee5b","name":"","ifname":"enp0s3","output":"object","filter":"ip dst host 84.88.40.59","path":"","x":300,"y":280,"wires":[["465699fe.6fe178"]]},{"id":"beedb5c9.d2ada","type":"debug","z":"268be8ad.9ee5b","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":910,"y":280,"wires":[]},{"id":"465699fe.6fe178","type":"json","z":"268be8ad.9ee5b","name":"","property":"payload","action":"str","pretty":false,"x":520,"y":280,"wires":[["beedb5c9.d2ada"]]},{"id":"231c6a54.534956","type":"function","z":"268be8ad.9ee5b","name":"","func":"//msg.payload = payload.payload.payload.data.data.value\n//msg = msg.payload.Value[0]\n//p = JSON.parse(msg.payload);\n//node.log(typeof p);\n//q = p.liny_type.Value[0]\n\np = msg.payload[0].link_type\n//msg.payload = p.link_type.Value[0];\n\nreturn p;\n\n\n//var newMsg = { payload: msg.payload.length };\n//return newMsg;\n\n//var myCount = flow.get(\"tv_sec\");\n//return myCount;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":710,"y":280,"wires":[[]]}]