toJson
Looking for the documentation on the newest versions of SIL Engine and the Simple Issue Language for Jira 8 for Server/Data Center? Click here !
Availability
This routine is available starting with SIL Engine™ 4.1.0
Syntax
toJson(<any struct, array or primitive type> [, convertEmptyFields, writeNull])
Description
Converts any given struct, array or primitive parameter to a JSON string.By default, the JSON resulted from the conversion also contains the empty fields (in the case of structures for example) with null values. If you want these to be excepted from the conversion, you will have to set the convertEmptyFields flag to false.
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
<any struct, array or primitive type> | variable: primitive type, array or struct | Yes | The variable to be converted to JSON |
convertEmptyFields | boolean | No | Flag that indicates if empty fields should be converted (if missing or true) or excepted |
writeNull | boolean | No | If true: an empty field will have a null value, for example: "emptyField": null If false: an empty field will have empty string value, for example: "emptyField": "" Note: the behavior described above applies only for the convertEmptyFields flag set to true. |
Return type
string
Example
You can look at this routine as the preparatory one for the integration with other systems. You build your data structure first and then convert your struct to json to be sent to an external system.
Colors JSON Example Code
This script demonstrates the process of using structs and/or arrays to create JSON output.
//Step 1 - define the structs/arrays struct code { number [] rgba; string hex; } struct color { string color; string category; string type; code code; } struct colors { color [] colors; } //Step 2 - add data to the structs color red; red.color = "red"; red.category = "hue"; red.type = "primary"; red.code.rgba = {255, 0, 0, 1}; red.code.hex = "#FF0"; color yellow; yellow.color = "yellow"; yellow.category = "hue"; yellow.type = "primary"; yellow.code.rgba = {255, 255, 0, 1}; yellow.code.hex = "#FF0"; color blue; blue.color = "blue"; blue.category = "hue"; blue.type = "primary"; blue.code.rgba = {0, 0, 255, 1}; blue.code.hex = "#00F"; color green; green.color = "green"; green.category = "hue"; green.type = "primary"; green.code.rgba = {0, 255, 0, 1}; green.code.hex = "#0F0"; colors colors; colors.colors += red; colors.colors += yellow; colors.colors += green; colors.colors += blue; //Step 3 - create the JSON return toJson(colors);
JSON Output
{ "colors":[ { "color":"red", "category":"hue", "type":"primary", "code":{ "rgba":[255,0,0,1], "hex":"#FF0" } }, { "color":"yellow", "category":"hue", "type":"primary", "code":{ "rgba":[255,255,0,1], "hex":"#FF0" } }, { "color":"green", "category":"hue", "type":"primary", "code":{ "rgba":[0,255,0,1], "hex":"#0F0" } }, { "color":"blue", "category":"hue", "type":"primary", "code":{ "rgba":[0,0,255,1], "hex":"#00F" } } ] }
See also