Skip to main content

Change Data Format Component

Change data from one format to another

Component key: change-data-format

Description

The change data format component allows you to convert data between common formats, like JSON, XML, CSV, and YAML, and to serialize (turn an object into a string) or deserialize (turn a string into an object) each supported format.

For example, the "JSON to XML" action will convert a JSON string that looks like this:

{
"user": {
"name": "John Doe",
"dob": "19880101",
"phones": ["555-123-4567", "555-555-5555"]
}
}

into an XML string that looks like this:

<user>
<name>John Doe</name>
<dob>19880101</dob>
<phones>555-123-4567</phones>
<phones>555-555-5555</phones>
</user>

A "Deserialize XML" action, when run on the above XML, would convert the XML into an object whose keys can be referenced in subsequent steps.

Actions

Convert To Boolean

Convert a value to a boolean | key: convertToBoolean


Convert To Integer

Convert a value to an int | key: convertToInt


Convert To Number

Convert a value to a number | key: convertToNumber


Convert To String

Convert a value to a string | key: convertToString


CSV to JSON

Convert CSV to JSON | key: csvToJson

Output Example Payload

{
"data": "{\n \"person\": {\n \"first\": \"Bob\",\n \"last\": \"Johnson\"\n },\n \"dob\": \"1990-01-01\"\n}",
"contentType": "application/json"
}

CSV to XML

Convert CSV to XML | key: csvToXml

Output Example Payload

{
"data": "<dob>1990-01-01</dob>\n<person>\n <first>Bob</first>\n <last>Johnson</last>\n</person>",
"contentType": "text/xml"
}

CSV to YAML

Convert CSV to YAML | key: csvToYaml

Output Example Payload

{
"data": "---\nperson:\n first: Bob\n last: Johnson\ndob: '1990-01-01'",
"contentType": "text/yaml"
}

Deserialize BINARY

Deserialize BINARY data | key: deserializeFromBinary

Output Example Payload

{
"data": {
"person": {
"first": "Bob",
"last": "Johnson"
},
"dob": "1990-01-01"
}
}

Deserialize CSV

Deserialize CSV data | key: deserializeFromCsv

Output Example Payload

{
"data": {
"person": {
"first": "Bob",
"last": "Johnson"
},
"dob": "1990-01-01"
}
}

Deserialize JSON

Deserialize JSON data | key: deserializeFromJson

Output Example Payload

{
"data": {
"person": {
"first": "Bob",
"last": "Johnson"
},
"dob": "1990-01-01"
}
}

Deserialize JSON Lines (.jsonl)

Transform .jsonl data to a JavaScript array | key: deserializeJsonl


Deserialize URL-encoded Form Data

Deserialize Form Data (x-www-form-urlencoded) | key: deserializeFormData

Output Example Payload

{
"data": {
"foo": "bar",
"baz": "123"
}
}

Deserialize XML

Deserialize XML data | key: deserializeFromXml

Output Example Payload

{
"data": {
"person": {
"first": "Bob",
"last": "Johnson"
},
"dob": "1990-01-01"
}
}

Deserialize YAML

Deserialize YAML data | key: deserializeFromYaml

Output Example Payload

{
"data": {
"person": {
"first": "Bob",
"last": "Johnson"
},
"dob": "1990-01-01"
}
}

JavaScript Object to CSV

Convert JavaScript Object to CSV | key: binaryToCsv

Output Example Payload

{
"data": "\"person__first\",\"person__last\",\"dob\"\n\"Bob\",\"Johnson\",\"1990-01-01\"",
"contentType": "text/csv"
}

JavaScript Object to JSON

Convert JavaScript Object to JSON | key: binaryToJson

Output Example Payload

{
"data": "{\n \"person\": {\n \"first\": \"Bob\",\n \"last\": \"Johnson\"\n },\n \"dob\": \"1990-01-01\"\n}",
"contentType": "application/json"
}

JavaScript Object to XML

Convert JavaScript Object to XML | key: binaryToXml

Output Example Payload

{
"data": "<dob>1990-01-01</dob>\n<person>\n <first>Bob</first>\n <last>Johnson</last>\n</person>",
"contentType": "text/xml"
}

JavaScript Object to YAML

Convert JavaScript Object to YAML | key: binaryToYaml

Output Example Payload

{
"data": "---\nperson:\n first: Bob\n last: Johnson\ndob: '1990-01-01'",
"contentType": "text/yaml"
}

JSON to CSV

Convert JSON to CSV | key: jsonToCsv

Output Example Payload

{
"data": "\"person__first\",\"person__last\",\"dob\"\n\"Bob\",\"Johnson\",\"1990-01-01\"",
"contentType": "text/csv"
}

JSON to XML

Convert JSON to XML | key: jsonToXml

Output Example Payload

{
"data": "<dob>1990-01-01</dob>\n<person>\n <first>Bob</first>\n <last>Johnson</last>\n</person>",
"contentType": "text/xml"
}

JSON to YAML

Convert JSON to YAML | key: jsonToYaml

Output Example Payload

{
"data": "---\nperson:\n first: Bob\n last: Johnson\ndob: '1990-01-01'",
"contentType": "text/yaml"
}

Pretty Print

Format data to be more human-readable | key: prettyPrint


Serialize JSON Lines (.jsonl)

Serialize an array of JavaScript objects into .jsonl | key: serializeJsonl


Serialize URL-encoded Form Data

Serialize Form Data (x-www-form-urlencoded) | key: serializeFormData

Output Example Payload

{
"data": "foo=bar&baz=123"
}

XML to CSV

Convert XML to CSV | key: xmlToCsv

Output Example Payload

{
"data": "\"person__first\",\"person__last\",\"dob\"\n\"Bob\",\"Johnson\",\"1990-01-01\"",
"contentType": "text/csv"
}

XML to JSON

Convert XML to JSON | key: xmlToJson

Output Example Payload

{
"data": "{\n \"person\": {\n \"first\": \"Bob\",\n \"last\": \"Johnson\"\n },\n \"dob\": \"1990-01-01\"\n}",
"contentType": "application/json"
}

XML to YAML

Convert XML to YAML | key: xmlToYaml

Output Example Payload

{
"data": "---\nperson:\n first: Bob\n last: Johnson\ndob: '1990-01-01'",
"contentType": "text/yaml"
}

YAML to CSV

Convert YAML to CSV | key: yamlToCsv

Output Example Payload

{
"data": "\"person__first\",\"person__last\",\"dob\"\n\"Bob\",\"Johnson\",\"1990-01-01\"",
"contentType": "text/csv"
}

YAML to JSON

Convert YAML to JSON | key: yamlToJson

Output Example Payload

{
"data": "{\n \"person\": {\n \"first\": \"Bob\",\n \"last\": \"Johnson\"\n },\n \"dob\": \"1990-01-01\"\n}",
"contentType": "application/json"
}

YAML to XML

Convert YAML to XML | key: yamlToXml

Output Example Payload

{
"data": "<dob>1990-01-01</dob>\n<person>\n <first>Bob</first>\n <last>Johnson</last>\n</person>",
"contentType": "text/xml"
}