# Delimited Serializer

The *Delimited Serializer* converts a structured data set into a single text stream with fields and records separated by delimiters or identified by text qualifiers. Serialized data with delimiters allows the sharing or storage of the data in a form that allows recovery of its original structure.

**Use Case**

In this case, we are using the *Customers* table from the *Northwind* database. You can download this sample data here.

{% file src="<https://content.gitbook.com/content/28dJIkGHacXhBlux3efx/blobs/JZidF7q0CGWTWquRtorK/Northwind.zip>" %}

![](https://3891069449-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F28dJIkGHacXhBlux3efx%2Fuploads%2FCaahiZpKcH8cbr7OIaLS%2F0.png?alt=media)

The source file contains the customers' contact information including their *ContactName*, *Address*, *PostalCode*, *Phone,* etc., in a structured format.

![](https://3891069449-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F28dJIkGHacXhBlux3efx%2Fuploads%2Fb6gXMEliea3OYkYrMYTZ%2F1.png?alt=media)

We want to convert the information contained in multiple fields into a single text stream separated by a delimiter.

**Using the Delimited Serializer object**

1. To get the *Delimited Serializer* object, go to *Toolbox > Text Processors > Delimited Serializer* and drag and drop the object onto the designer.

![](https://3891069449-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F28dJIkGHacXhBlux3efx%2Fuploads%2F44AJCFo3gWWBiieg0i5l%2F2.gif?alt=media)

You can see that the dragged object contains a *Text* field with an output port and an *Input* sub-node which is currently empty.

2. Auto-map source fields by dragging and dropping the top node of the source object, that is *Customers,* onto the *Input* node of the transformation object – *Delimited Serializer.*

![](https://3891069449-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F28dJIkGHacXhBlux3efx%2Fuploads%2FnK34AK7CxEuDudBemD7l%2F3.png?alt=media)

3. Right-click on the object’s header and select *Properties*.

![](https://3891069449-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F28dJIkGHacXhBlux3efx%2Fuploads%2Fspn7MaRrM6qxjqxY1l4J%2F4.png?alt=media)

A configuration window will open as shown below.

![](https://3891069449-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F28dJIkGHacXhBlux3efx%2Fuploads%2FuCRT1ssNyph0Oqofnh2h%2F5.png?alt=media)

Let’s look at the properties on this window.

* *Field Delimiter* – Allows users to specify a delimiter for the source fields from the dropdown list.
* *Text Qualifier* – Allows users to specify qualifiers at the start and end of a text stream. In most cases, a text qualifier encloses an entire record.
* *Build Operation Type* – Contains two options in which a dataset can be serialized:

![](https://3891069449-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F28dJIkGHacXhBlux3efx%2Fuploads%2FzBRSOrr5N7qRsZ28KPB2%2F6.png?alt=media)

* *One Record Per Input* – creates a single text record separated by delimiters for the entire data set
* *One Record Per Transaction* – creates as many text records as the source file separated by only field delimiter.

Let’s leave the properties as default, and click *OK*. The data has been serialized.

4. To preview the data, right-click on the *Delimited Serializer* object’s header and select *Preview Output* from the context menu.

![](https://3891069449-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F28dJIkGHacXhBlux3efx%2Fuploads%2FmFnF4hosiDVSBufeMSqE%2F7.png?alt=media)

A *Data Preview* window will open showing the serialized data with field delimiters

![](https://3891069449-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F28dJIkGHacXhBlux3efx%2Fuploads%2F5wXnwq0tv93iMChkOERK%2F8.png?alt=media)

To store this serialized output, write it to a destination file or you can use this data further in the dataflow.
