My device is generating an array containing the states of each pin. I would like to submit this array to the agent and then send it as the HTTP response. Unfortunately, I’ve only been able to send the memory address (as a string) and not the array itself.
Logging the array itself on the device side yields a memory address.
Logging the first index of the array on the device side yields the value stored at the index.
The same is true on the agent side.
How can I now submit this array to the client in the form of an HTTP response?
At a rough guess, I’d say you need the agent to run through the array and convert each element to a string. You then combine those strings into one and send it off in your HTTP response to be converted back to an array and processed. Something like this:
foreach (item in array)
send_string = send_string + item.tostring();
Thanks for your suggestion. This solution seems a little unwieldy to me – is it not possible to somehow use JSON encoding? (I’ve been unsuccessful with this so far.)
It is perhaps a little hammer-to-crack-nut, but it has the advantage of being easy. You can create an http object to POST, and there’s a
http.jsonencode() method which will code up an array, but you’ll need to send it to an entity capable of dealing with HTTP requests.
Ah! No idea how I overlooked this. Thanks for your help.