Output template

Following output templates are available:

Template: csv

Enabled via: “template”:”csv”.

Optional Payload available:

  • "header":"true" / "header":"false" - whether names of the colums should included (as the 1.st row) or not. By default is false.
  • "separator":"<separator>" - the separator string to be used for joining values.

For example, input JSON:

{
    "template": "csv",
    "count": 3,
    "columns": [{
        "name": "name1",
        "type": "const",
        "payload": {
            "value": "value1"
        }
    }, {
        "name": "name2",
        "type": "const",
        "payload": {
            "value": "value2"
        }
    }, {
        "name": "name3",
        "type": "const",
        "payload": {
            "value": "value3"
        }
    }],
    "payload": {
        "header": true,
        "separator": ","
    }
}

results in:

name1,name2,name3
value1,value2,value3
value1,value2,value3
value1,value2,value3

Template: sql

Enabled via: "template":"sql".

For example, input JSON:

{
     "template": "sql",
     "count": 3,
     "columns": [{
         "name": "name1",
         "type": "const",
         "payload": {
             "value": "value1"
         }
     }, {
         "name": "name2",
         "type": "const",
         "payload": {
             "value": "value2"
         }
     }, {
         "name": "name3",
         "type": "const",
         "payload": {
             "value": "value3"
         }
     }]
 }

results in:

INSERT INTO foo (name1,name2,name3) VALUES ('value1','value2','value3');
INSERT INTO foo (name1,name2,name3) VALUES ('value1','value2','value3');
INSERT INTO foo (name1,name2,name3) VALUES ('value1','value2','value3');

Template: xml

Enabled via: "template":"xml".

Optional Payload available:

  • "pretty_print":"true" / "pretty_print":"false" - whether pretty printing should be enabled or not. By default is false.
  • "pretty_print_tabs":"true" / "pretty_print_tabs":"false" - whether to use tabs (or spaces) for pretty print. By default is false (=> uses spaces).
  • "pretty_print_spaces_count":<count>- the count of spaces in case of pretty print enabled. By default is 4.

Moreover optional column-specific Payload available:

  • "xml":"<xml_type>" - column to be used as a specific xml type, available values follow

xml_type options:

  • "attribute" - column name is beeing used as a xml attribute name and column value as xml attribute value
  • "cdata" - column value is beeing used as a xml cdata (<![[CDATA...]]) contents
  • "comment" - column value is beeing used as a xml comment (<!--...-->) contents
  • "element" - column name is beeing used as a xml element name
  • "value" - column value is beeing used as a xml element value

For example, input JSON:

{
    "template": "xml",
    "count": 3,
    "columns": [
        {
            "name": "name1",
            "type": "const",
            "payload": {
                "value": ""
            },
            "columns": [
                {
                    "name": "name2",
                    "type": "const",
                    "payload": {
                        "value": "value2",
                        "xml": "attribute"
                    }
                },
                {
                    "name": "name3",
                    "type": "const",
                    "payload": {
                        "value": ""
                    },
                    "columns": [{
                            "name": "name3value",
                            "type": "const",
                            "payload": {
                                "value": "value3",
                                "xml": "value"
                        }]
                    }
                }
            ]
        }
    ],
    "payload": {
        "pretty_print": true
    }
}

results in:

<name1 name2="value2">
    <name3>value3</name3>
</name1>
<name1 name2="value2">
    <name3>value3</name3>
</name1>
<name1 name2="value2">
    <name3>value3</name3>
</name1>