In this Page
Table of Contents | ||||
---|---|---|---|---|
|
Object Literals
...
In this Page
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
Object Literals
Description | Object literals allow you to construct an object with a set of properties. Object literals function similar to JavaScript object literals. Within the object literal, the following variables are available:
| ||||
---|---|---|---|---|---|
Syntax | An object literal is a comma-delimited list of zero or more pairs of property names and values surrounded by curly braces ({}), like so:
The property name can be computed dynamically by enclosing an expression in square brackets ([]), like so:
The result of the expression will be converted into a string. | ||||
Example |
|
...
Description | Returns a new object with the properties of the current one merged with the properties of the objects that were passed in. This is similar to http://underscorejs.org/#extend, but the extend object method returns a new object instead of modifying the given one. Note | The extend object method can also be used to convert an array of objects into an object. An example illustrating the same is described in the Example Use Cases section below. | |||||
---|---|---|---|---|---|---|---|
Syntax |
| ||||||
Example | Expression: $.extend({ newField1 : 'foo' }, { newField2 : 'bar' }) Input:
Result:
|
...
Description | Get the value of a property or a default value if the object does not have the given property. If no default value is given, null is returned.
See also: Checking for optional properties and returning defaults in the expression language | ||
---|---|---|---|
Syntax |
| ||
Example | Expression: Result: Returns the value of the "Id" property or null if the object does not have the property. Expression: Result: Returns the value of the "Id" property or the number "123" if the object does not have the property. |
...
getFirst
Description | Indicates whether Find the object has value for the specified given property . The in operator and get method can be used as a shorthand to test if an object has a property or get the value of a property with a default if it does not exist.
| Syntax |
---|
Code Block |
---|
object.hasOwnProperty(field) |
Expression: $.hasOwnProperty("Id")
Result: Returns true if the object has the key "Id"
Expression: To create a ternary conditional expression:
$.hasOwnProperty('query') ? $query : 'not present in input'
hasPath
...
Paste code macro |
---|
object.hasPath(field) |
...
Expression: $.hasPath("Id")
Result: Returns true if the object has the key "Id"
isEmpty
...
Returns true if the given object has no properties.
Note |
---|
This function is not supported in Spark pipelines. |
...
Code Block |
---|
object.isEmpty() |
...
Expression: {}.isEmpty()
Result: Returns true.
Expression: { foo: 1 }.isEmpty()
Result: Returns false.
filter
Description | Create a new object that retains some properties from the original as specified by the given callback. | |||
---|---|---|---|---|
Syntax |
Code Block |
---|
object.filter(callback) |
- callback - A function that takes three arguments (property-value, property-name, input-object) and returns true if the property should be included in the returned object or false if it should be left out.
Expression: $.filter((value, key) => key.startsWith("new"))name. If the property does not exist, the function returns the default value (if given); otherwise, null is returned. If the value is a populated list, then the function returns the first value in the list; otherwise, it returns the default value if present or null.
|
Expression: $.getFirst("test")
Where $test is the string "abc123"
Result: abc123
Expression: $.getFirst("test")
Where $test is a list consisting of [5, 10, 15, 20]
Result: 5
hasOwnProperty
Description | Returns a boolean value to indicate whether the object has the specified property. The in operator and get method can be used as a shorthand to test if an object has a property or get the value of a property with a default if it does not exist.
| ||
---|---|---|---|
Syntax |
| ||
Example | Expression: Result: Returns true. Expression: Result:
Expression: To create a ternary conditional expression:
|
hasPath
Description | Returns a boolean value to indicate whether the object has the specified property (path) that carries a non-null value. This method is recommended when working with JSONPath, especially when looking for fields nested deep within the object.
| |||||||
---|---|---|---|---|---|---|---|---|
Syntax |
| |||||||
Example | Expression: Result: Returns true. Expression: Result:
Example JSON Object:
Expression: Result: Returns true because the object "Type" has a specified value. Expression: Result: Returns true because "EditorName" has a specified value. Expression: Result: Returns false since even though the object has the key "Owner", it is null. Expression: Result: Returns false since the object does not have "Region". |
isEmpty
Description | Returns true if the given object has no properties.
| ||
---|---|---|---|
Syntax |
| ||
Example | Expression: {}.isEmpty() Result: Returns true. Expression: { foo: 1 }.isEmpty() Result: Returns false. |
filter
Description | Create a new object that retains some properties from the original as specified by the given callback. | ||||
---|---|---|---|---|---|
Syntax |
| ||||
Example | Expression: $.filter((value, key) => key.startsWith("new")) Input:
Result:
|
keys
Description | Returns an array of strings that represent all the enumerable properties of the given object. The ordering of the properties is the same as that given by looping over the properties of the object manually. See also values, entries. | ||
---|---|---|---|
Syntax |
| ||
Example | Input:
Expression: $user.keys() |
...
Description | Transform the names of properties in an object using a callback. This is similar to https://lodash.com/docs/4.17.4#mapKeys | |||||
---|---|---|---|---|---|---|
Syntax |
| |||||
Example | Expression:Expression: Input:
Result:
|
...
Description | Transform the values of properties in an object using a callback. This is similar to https://lodash.com/docs/4.17.4#mapValues | ||||
---|---|---|---|---|---|
Syntax |
| ||||
Example | Expression: Input:
Result:
|
...
Description | Returns an array containing the given object's own enumerable property values. See also entries, keys. | ||
---|---|---|---|
Syntax |
| ||
Example | Input: Code Block | age
Expression: $user.values() |
...
Expand | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
A JSON Array of objects with unique/non-overlapping keys can be converted to an object using the extend object method along with a Spread Operator. The extend object method does so by creating objects dynamically from other objects passed in as arguments, the spread operator will have to be used to indicate that the elements of the array should be treated as the arguments to the function. The expression to be used is:
1. Input the array into Mapper Snap (this can be done using a JSON Generator Snap). For this example, the following array will be used:
2. The Mapper Snap must be configured as shown below. Notice the Expression and Target path fields.3. When executed, the output will be an object.
|