====== Lua CJSON ====== The [[https://www.kyne.com.au/~mark/software/lua-cjson-manual.html|Lua CJSON]] module provides JSON support for Lua. Features * Fast, standards compliant encoding/parsing routines * Full support for JSON with UTF-8, including decoding surrogate pairs * Optional run-time support for common exceptions to the JSON specification (infinity, NaN,..) WebHMI supports this module starting from version WebHMI 3.4. Documentation for CJSON module is available at [[https://www.kyne.com.au/~mark/software/lua-cjson-manual.html|official site]]. There are 2 most important functions: **cjson.encode** and **cjson.decode**. **cjson.encode** will serialise a Lua value into a string containing the JSON representation. Example: value = { true, { foo = "bar" } } json_text = cjson.encode(value) -- Returns: '[true,{"foo":"bar"}]' **cjson.decode** will deserialise any UTF-8 JSON string into a Lua value or table. Example: json_text = '[ true, { "foo": "bar" } ]' value = cjson.decode(json_text) -- Returns: { true, { foo = "bar" } } If your task is extract from the 7bit LoRA AirGate's JSON package then use to following code local encoded = GetReg("encoded_json") local decoded_table = cjson.decode(encoded) for i, v in pairs(decoded_table) do TRACE(i .. " = " .. tostring(v)) -- show all the content of packet. end temp_int = decoded_table.temp_int -- example of extraction