Tworzenie odpowiedzi w formacie JSON

W sytuacji, gdy moduł Gate HTTP pełni rolę Listenera, może się okazać, że jego odpowiedź musi być przesłana w formacie JSON.


Zakładając, że wysłana odpowiedź ma wyglądać następująco:


W module Gate HTTP należy utworzyć następujący skrypt:

local resp = {body=, {sensor_2_inside={value=21.8}}}}

Gate_HTTP->Listener_JSON->SetResponseBody(resp)
Gate_HTTP->Listener_JSON->SendResponse()

który należy przypisać do zdarzenia OnRequest w obiekcie wirtualnym HttpListener:



W sytuacji, gdy zwracany parametr ma zawierać w nazwie znak "." jak poniżej:


Skrypt przypisany do zdarzenia OnRequest w obiekcie wirtualnym HttpListener powinien wyglądać następująco:


local resp = {}
resp.body = {}
resp.body[1] = {}
resp.body[1]["sensor.1.outside"] = {}
resp.body[1]["sensor.1.outside"]["value"] = 17.2
resp.body[2] = {}
resp.body[2]["sensor.2.inside"] = {}
resp.body[2]["sensor.2.inside"]["value"] = 21.8

Gate_HTTP->Listener_JSON->SetResponseBody(resp)
Gate_HTTP->Listener_JSON->SendResponse()