Jump to content

Component: JSON Decoder (Comms: IoT/Cloud): Difference between revisions

From Flowcode Help
No edit summary
m Text replacement - "class="wikitable" style="width:60%; background-color:#FFFFFF;"" to "class="mtx-class-macrotable wikitable""
Line 46: Line 46:


===FindName===
===FindName===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
Line 70: Line 70:


===ParseJSON===
===ParseJSON===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
Line 89: Line 89:


===ReadDataAsFloat===
===ReadDataAsFloat===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
Line 108: Line 108:


===ReadDataAsNumber===
===ReadDataAsNumber===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
Line 127: Line 127:


===ReadDataAsString===
===ReadDataAsString===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
Line 146: Line 146:


===ReadName===
===ReadName===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
Line 166: Line 166:
==Property reference==
==Property reference==


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]

Revision as of 14:15, 13 July 2026

Author Matrix TSL
Version 1.1
Category Comms: IoT/Cloud


JSON Decoder component

Allows dynamic key and value pairs to be collected from a formatted JSON string.

Version information

Library Version, Component Version, Date, Author, Info
4, 1.1, 10-10-24, BR, Allowed for better support of nested array data
4, 1.1, 10-10-24, BR, Removed spaces and new lines etc from the stored data
5, 1.1, 02-15-24, BR, Allowed for better support of nested array data for the FindName function

Detailed description

No detailed description exists yet for this component

Examples

Simple Decode

Example program showing how to use a JSON decoder component to parse a simple JSON encoded data string. JSON Decoder Example


Simple Encode and Decode

Example program showing how to take data and encode it into a JSON string to be sent out over comms.

The example also hows how to decode a received JSON string and pull out values.

JSON_Demo


Macro reference

FindName

FindName
Searches for a name in the JSON data. Returns the data index position. Returns -1 if the name was not found. 
- STRING Name
 
- UINT SkipCount
Number of matches to skip before returning. 
- INT Return


ParseJSON

ParseJSON
Accepts a JSON formatted data string and stores locally in the data buffer ready for parsing. Returns the estimated number of name and data keys present. 
- STRING Data
JSON data string to parse 
- UINT Return


ReadDataAsFloat

ReadDataAsFloat
Reads the data of a specific element as a floating point value 
- UINT Element
Index of the element to read 
- FLOAT Return


ReadDataAsNumber

ReadDataAsNumber
Reads the data of a specific element as a numeric integer value 
- UINT Element
Index of the element to read 
- LONG Return


ReadDataAsString

ReadDataAsString
Reads the data of a specific element as a string value 
- UINT Element
Index of the element to read 
- STRING Return


ReadName

ReadName
Reads the name of a specific element 
- UINT Element
The Index of the element to read 
- STRING Return


Property reference

Properties
Data Bytes
Number of bytes used to store the entire data for the JSON message. Includes names and data values so make sure this is large enough to store everything you want to be able to put into a single JSON data string. 

Component Source Code

Please click here to download the component source project: FC_Comp_Source_JSONDecoder.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_JSONDecoder.fcfx