Enhanced JSON Output
DescriptionThe Enhanced JSON Output transform allows you to generate JSON blocks based on input transform values. Output JSON will be available as a Javascript array or Javascript object depending on transform settings.
|
Supported Engines
|
Options
General Tab
General tab allows to specify type of transform operation, output json structure, transform output file. This file will be used to dump all generated json.
| Option | Description |
|---|---|
Transform name |
Name of the transform; this name has to be unique in a single pipeline. |
Operation |
Specify transform operation type. Currently available 3 types of operation:
|
Json block name |
This value will be used as a name for json block. Can be empty string that will affect output json structure, see detailed description below. |
Output value |
This value will be used as a transform output field. Will contain generated json output block depending on transform settings. |
Force Arrays In JSON |
If checked, JSON output will be forced as a single item whose content is an array. |
Force single grouped Item |
Grouped values are stored in an array inside the JSON instead of creating an array of JSONs |
Pritty Print JSON |
If checked, JSON output will be pritty printed. |
Output File
| Option | Description |
|---|---|
Filename |
full path to output file |
Append |
If not checked - new file will be created every time transform is running. If file with specified name exists already, it will be replaced by a new one. If checked - new json output will be appended to the end of existing file. Or if file does not exist, it will be created as in previous case. |
Split JSON after n rows |
If this number N is larger than zero, split the resulting JSON file into multiple parts of N rows. |
Create Parent folder |
Usually file name contains some path folder as a parent folder. If parent folder does not exist and this option is checked, parent folder will be created as a new folder. Otherwise - file not be found and transform will fail. |
Do not open create at start |
If not checked - file (and in some cases parent folder) will be created/opened to write during pipeline initialization. If checked - file and parent folder will be created only after transform gets any first input data. |
Extension |
Output file extension. Default value is 'js' |
Encoding |
Output file encoding |
Include date in filename? |
If checked - output file name will contain File name value + current date. This may help to generate unique output files. |
Include time in filename |
If checked - output file name will contain file creation time. Same as for 'Include date in filename' option |
Show filename(s) button |
Can be useful to test full output file path |
Add file to result filenames? |
If checked - created output file path will be accessible form transform result |
Group Key Tab
This tab is used to map input transform fields key used to properly generate output json values
| Option | Description |
|---|---|
Fieldname |
Input transform field name that will ccontribute to define the input transform fields key. Use 'Get Fields' button to discover available input fields |
Element name |
Json element name. For example "A":"B" - A is a element name, B is actual input value mapped for this Element name. |
Fields Tab
This tab is used to map input transform fields to output json values
| Option | Description |
|---|---|
Fieldname |
Input transform field name. Use 'Get Fields' button to discover available input fields |
Element name |
Json element name as a key. For example "A":"B" - A is a element name, B is actual input value mapped for this Element name. |
JSON Fragment |
If the value is set to Y the value contained in the filed is a JSON chunk and will be treated accordingly |
Remove Element name |
If the value is set to Y it will ignore the Element name and insert the JSON Fragment without wrapping it. Only works with JSON Fragment = Y |
Remove if Blank |
If the value is set to Y and value in incoming field is null, the related attribute will be omitted from JSON output |
Notes
Look at the sample provided json-output-generate-nested-structure.hpl for a better understanding about how the transform works