On this page
Table of Contents | ||||
---|---|---|---|---|
|
...
Snap type:
Transform
...
Description:
...
Overview
You can use this Snap to split a list of values into
...
separate JSON documents in its output view.
...
It captures metadata and lineage information from the input document.
...
Snap Type
The JSON Parser Snap is a Transform-type Snap.
Prerequisites
...
...
None
...
.
Support
...
for Ultra Pipelines
Works in Ultra Pipelines.
...
Accounts are not used with this Snap.
...
Known Issues and Limitations
None.
Snap Views
Type | Format | Number of Views | Examples of Upstream and Downstream Snaps | Description |
---|---|---|---|---|
Input | Document
|
|
| JSON data to be split, in the form of a JSON array. |
Output | Document
|
|
| This Snap has exactly one document output view, where it provides the JSON document data stream. |
Error |
...
If the Snap fails during the operation, an error document is sent to the error view containing the fields
Error handling is a generic way to handle errors without losing data or failing the Snap execution. You can handle the errors that the Snap might encounter when running the Pipeline by choosing one of the following options from the When errors occur list under the Views tab:
Learn more about Error handling in Pipelines. |
Snap Settings
Info |
---|
|
Field Name | Field Type | Description |
---|---|---|
Label* |
...
Default Value: JSON Splitter Example: JSON Splitter | String | Specify the name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your pipeline. |
JSON Path to Split* |
...
Default Value: None Examples:
| String/Suggestion | Enter the JSON path manually. Alternatively, click the Suggestion |
...
icon to view the list of paths and select the required path. Defines a path |
...
Default value: None
Examples:
$orders[*].orderlines[*]
$orders[*].orderlines[*].prod
...
to the list that holds the document entries. Each entry of the list will be written out as a separate document. The Snap automatically prefixes Dynamic JSON PathYou can also include pipeline parameters in this property to be dynamic so that it picks values from the pipeline's properties. Use parentheses inside the square brackets to specify the pipeline parameter. For example, the JSON Path |
Include scalar parents |
...
Default Value: Deselected | Checkbox | Select this checkbox to include scalar parents in each output document.
Using the split path on
doc 2:
| ||||||||||
Null-safe access Default |
...
Value: |
...
Deselected |
...
Null-safe access
...
Checkbox | Select this checkbox to skip invalid path definitions that are defined in the Include Paths property below. |
...
If disabled when the path does not exist in the input view |
...
, the Snap displays a |
Include Paths |
...
Select this checkbox to include objects from the input document in the resulting output document(s). |
...
Input same as above. doc1:
| |||||
Exclude List from Output Documents |
...
Default Value: Deselected | Checkbox | Select this checkbox to prevent the split list |
...
from |
...
being included in output documents. |
...
Select this checkbox |
...
to leverage the memory usage. |
...
| ||
Show Null Values for Include Paths
| Checkbox | Select |
...
this checkbox to show key-value entries of the null values for the objects added to the Include Paths field in the output documents. |
Snap Execution
Default Value: |
...
Multiexcerpt include macro | ||||
---|---|---|---|---|
|
...
Multiexcerpt include macro | ||||
---|---|---|---|---|
|
Examples
...
Execute only | Dropdown list | Select one of the three modes in which the Snap executes. Available options are:
|
Examples
For instance, there is a pipeline that contains File Reader, JSON Parser, and JSON Splitter Snaps.
The File Reader Snap reads a JSON file with the following contents:
Code Block |
---|
{
"customer":"ACME",
"orders":[
{
"ordernumber":"01", "orderdate":"20131122", "orderlines":[
{
"prod":"p1", "price":"23" }, {
"prod":"p2", "price":"13" }, {
"prod":"p3", "price":"231" }
], "city":"san mateo" }, {
"ordernumber":"02", "orderdate":"20131222", "orderlines":[
{
"prod":"w1", "price":"123" }, {
"prod":"e2", "price":"3" }, {
"prod":"q3", "price":"31" }
], "city":"burlingame" }
] } |
If the JSON path in the JSON Splitter is set to:
...
$orders[*].
...
orderlines
The data output would look something like this:
Code Block |
---|
[
{
"prod": "p1",
"price": "23",
"orderdate": "20131122",
"ordernumber": "01",
"customer": "ACME",
"city": "san mateo" },
{
"prod": "p2",
"price": "13",
"orderdate": "20131122",
"ordernumber": "01",
"customer": "ACME",
"city": "san mateo" },
{
"prod": "p3",
"price": "231",
"orderdate": "20131122",
"ordernumber": "01",
"customer": "ACME",
"city": "san mateo" },
{
"prod": "w1",
"price": "123",
"orderdate": "20131222",
"ordernumber": "02",
"customer": "ACME",
"city": "burlingame" },
{
"prod": "e2",
"price": "3",
"orderdate": "20131222",
"ordernumber": "02",
"customer": "ACME",
"city": "burlingame" },
{
"prod": "q3",
"price": "31",
"orderdate": "20131222",
"ordernumber": "02",
"customer": "ACME",
"city": "burlingame" }
]
|
...
See Also
Snap Pack History
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|