Jump to content

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

From Flowcode Help
m Text replacement - "width="10%" align="center" style="background-color:#D8C9D8;" align="center"" to "width="10%" align="center" class="mtx-class-macrohead""
m Text replacement - "width="90%" style="background-color:#D8C9D8; color:#4B008D;"" to "width="90%" class="mtx-class-macrohead""
 
(One intermediate revision by the same user not shown)
Line 49: Line 49:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''FindName'''
| width="90%" class="mtx-class-macrohead" | '''FindName'''
|-
|-
| colspan="2" | Searches for a name in the JSON data. Returns the data index position. Returns -1 if the name was not found. 
| colspan="2" | Searches for a name in the JSON data. Returns the data index position. Returns -1 if the name was not found. 
Line 73: Line 73:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ParseJSON'''
| width="90%" class="mtx-class-macrohead" | '''ParseJSON'''
|-
|-
| colspan="2" | 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. 
| colspan="2" | 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. 
Line 92: Line 92:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadDataAsFloat'''
| width="90%" class="mtx-class-macrohead" | '''ReadDataAsFloat'''
|-
|-
| colspan="2" | Reads the data of a specific element as a floating point value 
| colspan="2" | Reads the data of a specific element as a floating point value 
Line 111: Line 111:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadDataAsNumber'''
| width="90%" class="mtx-class-macrohead" | '''ReadDataAsNumber'''
|-
|-
| colspan="2" | Reads the data of a specific element as a numeric integer value 
| colspan="2" | Reads the data of a specific element as a numeric integer value 
Line 130: Line 130:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadDataAsString'''
| width="90%" class="mtx-class-macrohead" | '''ReadDataAsString'''
|-
|-
| colspan="2" | Reads the data of a specific element as a string value 
| colspan="2" | Reads the data of a specific element as a string value 
Line 149: Line 149:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadName'''
| width="90%" class="mtx-class-macrohead" | '''ReadName'''
|-
|-
| colspan="2" | Reads the name of a specific element 
| colspan="2" | Reads the name of a specific element 
Line 168: Line 168:
{| class="mtx-class-macrotable wikitable"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
| width="90%" class="mtx-class-macrohead" | '''Properties'''  
|-
|-
|-
|-

Latest revision as of 14:22, 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