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

InputNotesExample
The value to be converted to a boolean

Convert To Integer

Convert a value to an int | key: convertToInt

InputNotesExample
The value to be converted to a integer

Convert To Number

Convert a value to a number | key: convertToNumber

InputNotesExample
The value to be converted to a number

Convert To String

Convert a value to a string | key: convertToString

InputNotesExample
The value to be converted to a string

CSV to JSON

Convert CSV to JSON | key: csvToJson

InputNotesExample
Data

CSV data to convert to JSON

CSV Header

Specify if your CSV contains a header row.

true
Un-Flatten CSV Keys

When enabled, keys with double-underscores will be parsed as nested objects. For example, 'person__first,person__last' will become '{ person: { first, last } }' rather than '{ person__first, person__last }'

false

{
"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

InputNotesExample
Data

CSV data to convert to XML

CSV Header

Specify if your CSV contains a header row.

true
Un-Flatten CSV Keys

When enabled, keys with double-underscores will be parsed as nested objects. For example, 'person__first,person__last' will become '{ person: { first, last } }' rather than '{ person__first, person__last }'

false

{
"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

InputNotesExample
Data

CSV data to convert to YAML

CSV Header

Specify if your CSV contains a header row.

true
Un-Flatten CSV Keys

When enabled, keys with double-underscores will be parsed as nested objects. For example, 'person__first,person__last' will become '{ person: { first, last } }' rather than '{ person__first, person__last }'

false

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

Deserialize BINARY

Deserialize BINARY data | key: deserializeFromBinary

InputNotesExample
Data

BINARY text to deserialize so it can be referenced in a subsequent step.

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

Deserialize CSV

Deserialize CSV data | key: deserializeFromCsv

InputNotesExample
Data

CSV text to deserialize so it can be referenced in a subsequent step.

CSV Header

Specify if your CSV contains a header row.

true
Un-Flatten CSV Keys

When enabled, keys with double-underscores will be parsed as nested objects. For example, 'person__first,person__last' will become '{ person: { first, last } }' rather than '{ person__first, person__last }'

false

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

Deserialize JSON

Deserialize JSON data | key: deserializeFromJson

InputNotesExample
Data

JSON text to deserialize so it can be referenced in a subsequent step.

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

Deserialize JSON Lines (.jsonl)

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

InputNotesExample
JSONL Data

Deserialize URL-encoded Form Data

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

InputNotesExample
Data

Form data to deserialize so it can be referenced in a subsequent step.

foo=bar&baz=123

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

Deserialize XML

Deserialize XML data | key: deserializeFromXml

InputNotesExample
Data

XML text to deserialize so it can be referenced in a subsequent step.

Parse numbers as strings?

Interpret numbers as strings?

false

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

Deserialize YAML

Deserialize YAML data | key: deserializeFromYaml

InputNotesExample
Data

YAML text to deserialize so it can be referenced in a subsequent step.

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

JavaScript Object to CSV

Convert JavaScript Object to CSV | key: binaryToCsv

InputNotesExample
Data

JavaScript Object data to convert to CSV

{
"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

InputNotesExample
Data

JavaScript Object data to convert to JSON

{
"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

InputNotesExample
Data

JavaScript Object data to convert to XML

{
"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

InputNotesExample
Data

JavaScript Object data to convert to YAML

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

JSON to CSV

Convert JSON to CSV | key: jsonToCsv

InputNotesExample
Data

JSON data to convert to CSV

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

JSON to XML

Convert JSON to XML | key: jsonToXml

InputNotesExample
Data

JSON data to convert to XML

{
"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

InputNotesExample
Data

JSON data to convert to YAML

{
"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

InputNotesExample
Data

Data to pretty print


Serialize JSON Lines (.jsonl)

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

InputNotesExample
Array of JavaScript Objects to serialize

Must be a reference to an array of JavaScript objects


Serialize URL-encoded Form Data

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

InputNotesExample
Data

Form data to deserialize so it can be referenced in a subsequent step.

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

XML to CSV

Convert XML to CSV | key: xmlToCsv

InputNotesExample
Data

XML data to convert to CSV

Parse numbers as strings?

Interpret numbers as strings?

false

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

XML to JSON

Convert XML to JSON | key: xmlToJson

InputNotesExample
Data

XML data to convert to JSON

Parse numbers as strings?

Interpret numbers as strings?

false

{
"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

InputNotesExample
Data

XML data to convert to YAML

Parse numbers as strings?

Interpret numbers as strings?

false

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

YAML to CSV

Convert YAML to CSV | key: yamlToCsv

InputNotesExample
Data

YAML data to convert to CSV

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

YAML to JSON

Convert YAML to JSON | key: yamlToJson

InputNotesExample
Data

YAML data to convert to JSON

{
"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

InputNotesExample
Data

YAML data to convert to XML

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