jsonParse
jsonParse ( jsonString : string , type : integer {, *} ) : any
Parameter | Type | Description | |
---|---|---|---|
jsonString | string | -> | JSON string to parse |
type | integer | -> | Type in which to convert the values |
* | -> | Adds line position and offset of each property if returned value is an object | |
Result | any | <- | Values extracted from JSON string |
Description
The jsonParse
command parses the contents of a JSON-formatted string and extracts values that you can store in a Qodly field or variable.
In jsonString
, pass the JSON-formatted string whose contents you want to parse. This string must be formatted correctly, otherwise a parsing error is generated. jsonParse
can therefore be used to validate JSON strings.
If you use pointers, you must call the jsonStringify
command before calling jsonParse
.
By default, if you omit the type parameter, Qodly attempts to convert the value obtained into the type of the variable or attribute used to store the results (if one is defined). Otherwise, Qodly attempts to infer its type. You can also force the type interpretation by passing one of the following constants in the type parameter:
Constant | Type | Value |
---|---|---|
kBoolean | integer | 6 |
kCollection | integer | 42 |
kDate | integer | 4 |
kInteger | integer | 9 |
kObject | integer | 38 |
kNumber | integer | 1 |
kString | integer | 2 |
kTime | integer | 11 |
If you pass the *
optional parameter and if the jsonString
parameter represents an object, the returned object contains an additional property named __symbols
that provides path, line position, and line offset of each property and sub-property of the object. This information can be useful for debugging purposes. The structure of the __symbols
property is:
__symbols:{//object description
myAtt.mySubAtt...:{ //property path
line:10, //line number of the property
offset:35 //offset of the property from the beginning of the line } }
The *
parameter is ignored if the returned value is not of the object type.