The CSVParser API provides methods for parsing comma-separated value (CSV) formatted records into an object or an array.

This API runs in the sn_impex namespace.

CSVParser - parseLineToArray(String cvsLine, String delimiter, String quoteCharacter)

Parses passed in CSV formatted content into an array.

Table 1. Parameters
Name Type Description
csvLine String CSV content to parse.
delimiter String Optional. Character used to delineate the fields in the source CSV content.

Default: Comma ','

quoteCharacter String Optional. Character used as the quote character in the source CSV content.

Default: Double quote '"'

Table 2. Returns
Type Description
Array Array containing the parsed values for each element in the passed-in CSV content.

For example:

{
Joe,
Smith,
470 W Carmen, Chicago IL, 60640
}

Example

This example shows simple CSV formatted content parsed into a returned array.

var csvLine = '\"Joe\",\"Smith\",\"1470 W Carmen, Chicago IL, 60640\"';
var delimiter = ',';
var quoteCharacter = '"';

var x = new sn_impex.CSVParser().parseLineToArray(csvLine, delimiter, quoteCharacter);

gs.log(x[0]);
gs.log(x[1]);
gs.log(x[2]);

Output:

Joe
Smith
1470 W Carmen, Chicago IL, 60640

CSVParser - parseLineToObject(String cvsLine, Array headers, String delimiter, String quoteCharacter)

Parses passed in CSV formatted content into an object.

Table 4. Returns
Type Description
Object Object containing the header and corresponding value for each element in the passed-in CSV content.

For example:

{
first_name: Joe,
last_name: Smith,
address: 1470 W Carmen, Chicago IL, 60640
}

Example

This example shows CSV formatted content parsed into a returned object.

var csvLine = '\"Joe\",\"Smith\",\"1470 W Carmen, Chicago IL, 60640\"';
var headers = ['first_name', 'last_name', 'address'];
var delimiter = ',';
var quoteCharacter = '"';

var x = new sn_impex.CSVParser().parseLineToObject(csvLine, headers, delimiter, quoteCharacter);

gs.log(x.first_name);
gs.log(x.last_name);
gs.log(x.address);

Output:

Joe
Smith
1470 W Carmen, Chicago IL, 60640

Example

This example shows an exception response because of an invalid pass of the header parameter.

var csvLine = '\"Joe\",\"Smith\",\"1470 W Carmen, Chicago IL, 60640\"';
var headers = null;
var delimiter = ',';
var quoteCharacter = '"';
try {
var x = new sn_impex.CSVParser().parseLineToObject(csvLine, headers, delimiter, quoteCharacter);

gs.log(x.first_name);
gs.log(x.last_name);
gs.log(x.address);
}
catch(ex) {
      gs.info(ex.message);
}

Output:

CSVParser: Header list is empty: no thrown error
*** Script: CSVParser: Header list is empty