You can copy and paste the module export in your scenario to import the modules shown in my screenshots above.
-
Copy the code below by clicking the copy button when you mouseover the top-right of the code block

-
Enter your scenario editor. Press ESC to close any dialogs. Press CTRLV to paste in the canvas.
-
Click on each imported module and save it. You may need to remap some variables.
Modules JSON Export
{
"subflows": [
{
"flow": [
{
"id": 7,
"module": "regexp:Parser",
"version": 1,
"parameters": {
"global": true,
"pattern": "\"(?<key>[^\"]+)_(?<number>\\d)\": \"?(?<value>[^\"]+)(?:\"|,)+\\s",
"multiline": false,
"sensitive": true,
"singleline": false,
"continueWhenNoRes": true,
"ignoreInfiniteLoopsWhenGlobal": false
},
"mapper": {
"text": "{{13.value}}"
},
"metadata": {
"designer": {
"x": 241,
"y": -348
},
"restore": {},
"parameters": [
{
"name": "pattern",
"type": "text",
"label": "Pattern",
"required": true
},
{
"name": "global",
"type": "boolean",
"label": "Global match",
"required": true
},
{
"name": "sensitive",
"type": "boolean",
"label": "Case sensitive",
"required": true
},
{
"name": "multiline",
"type": "boolean",
"label": "Multiline",
"required": true
},
{
"name": "singleline",
"type": "boolean",
"label": "Singleline",
"required": true
},
{
"name": "continueWhenNoRes",
"type": "boolean",
"label": "Continue the execution of the route even if the module finds no matches",
"required": true
},
{
"name": "ignoreInfiniteLoopsWhenGlobal",
"type": "boolean",
"label": "Ignore errors when there is an infinite search loop",
"required": true
}
],
"expect": [
{
"name": "text",
"type": "text",
"label": "Text"
}
],
"interface": [
{
"name": "key",
"type": "text",
"label": "key"
},
{
"name": "number",
"type": "text",
"label": "number"
},
{
"name": "value",
"type": "text",
"label": "value"
},
{
"name": "i",
"type": "uinteger",
"label": "i"
},
{
"name": "__IMTMATCH__",
"type": "any",
"label": "Fallback Match"
}
]
}
},
{
"id": 15,
"module": "util:TextAggregator",
"version": 1,
"parameters": {
"feeder": 7,
"rowSeparator": "other",
"otherRowSeparator": ","
},
"mapper": {
"value": "\"{{7.key}}\": \"{{7.value}}\""
},
"metadata": {
"designer": {
"x": 484,
"y": -347
},
"restore": {
"extra": {
"feeder": {
"label": "Text parser - Match pattern [7]"
}
},
"parameters": {
"rowSeparator": {
"label": "Other"
}
}
},
"parameters": [
{
"name": "rowSeparator",
"type": "select",
"label": "Row separator",
"validate": {
"enum": [
"\n",
"\t",
"other"
]
}
},
{
"name": "otherRowSeparator",
"type": "text",
"label": "Separator"
}
],
"expect": [
{
"name": "value",
"type": "text",
"label": "Text"
}
],
"advanced": true
},
"flags": {
"groupBy": "{{7.number}}"
}
},
{
"id": 16,
"module": "util:TextAggregator",
"version": 1,
"parameters": {
"feeder": 15,
"rowSeparator": "other",
"otherRowSeparator": ","
},
"mapper": {
"value": "{{{15.text}}}"
},
"metadata": {
"designer": {
"x": 733,
"y": -347
},
"restore": {
"extra": {
"feeder": {
"label": "Tools - Text aggregator [15]"
}
},
"parameters": {
"rowSeparator": {
"label": "Other"
}
}
},
"parameters": [
{
"name": "rowSeparator",
"type": "select",
"label": "Row separator",
"validate": {
"enum": [
"\n",
"\t",
"other"
]
}
},
{
"name": "otherRowSeparator",
"type": "text",
"label": "Separator"
}
],
"expect": [
{
"name": "value",
"type": "text",
"label": "Text"
}
],
"advanced": true
}
},
{
"id": 17,
"module": "json:ParseJSON",
"version": 1,
"parameters": {
"type": ""
},
"mapper": {
"json": "{ \"items\": [{{16.text}}]}"
},
"metadata": {
"designer": {
"x": 980,
"y": -345
},
"restore": {
"parameters": {
"type": {
"label": "Choose a data structure"
}
}
},
"parameters": [
{
"name": "type",
"type": "udt",
"label": "Data structure"
}
],
"expect": [
{
"name": "json",
"type": "text",
"label": "JSON string",
"required": true
}
]
}
}
]
}
],
"metadata": {
"version": 1
}
}