User Tools

Site Tools


transformations:modifyjson

MODIFY JSON

Category: Transform / Web


Description

This action modifies aspects of a JSON object. Commands this action can run are: Change property value, Add property, Delete property, Rename property, and Reformat JSON.


Action settings

Setting Description
ColumnSelect the column that contains the JSON to be modified.
CommandSelect the modification to run on the selected JSON. Options: Change property value, Add property, Delete property, Rename property, or Format JSON. See below for the details of each command.
If the node doesn't exist Choose how EasyMorph will handle cases when the selected node doesn't exist in the dataset. Options: Fail (the workflow halts execution with a warning) or Ignore (the workflow continues).


Change property value settings

Description: Changes the value of the select JSON path (key).

Setting Description
JSON PathSelect the path/key to change the value of.
Replace with*Enter the value to be inserted.
The inserted values are datesCheck this option on if the values are dates.

* Setting can be specified using a parameter.


Add property options

Description: Adds a new property under the selected Parent node.

Option Description
ParentSelect the node to insert the new property under.
Node name*Enter the name of the new property.
Node value*Enter the value of the new property.
The inserted values are datesCheck this option on if the values are dates.

* Setting can be specified using a parameter.


Delete property options

Description: Removes a property from the JSON in the selected column.

Option Description
JSON PathSelect the node to remove the property from.


Rename property options

Description: Renames a property in the selected JSON path.

Option Description
JSON PathSelect the path to be renamed.
New nameEnter the new name of the selected path.


Format JSON options

Description: Converts the format of the JSON text from a single-cell string to a tree structure, or the reverse.

Option Description
Make readableThis option converts the JSON from a single-cell text value to a more readable nested structure.
Minimize sizeThis option converts the JSON from a nested structure to a single-cell text value.


Remarks

Wildcards like "$" (for root node), and "[*]" (for an array) can be used where JSON Paths and nodes need to be selected/entered.


Examples

Example #1

Change property value: Change the "name" property's value from "Doug" to "Alex".

Before (source table)

  {
    "name":"Doug",
    "id":7,
    "dept":"Accounting"
  }

After (result table)

  {
    "name":"Alex",
    "id":7,
    "dept":"Accounting"
  }

Action parameters

JSON Path is "name"
Replace with "Alex"
If the node doesn't exist: Fail


Exmaple #2

Add property: Add the new node "age".

Before (source table)

  {
    "name":"Doug",
    "id":7,
    "dept":"Accounting"
  }

After (result table)

  {
    "name":"Doug",
    "id":7,
    "dept":"Accounting",
    "age":50
  }

Action parameters

Parent: $ (root node)
Node name: age
Node value: 50
If the parent node doesn't exist: Fail


Example #3

Delete property: Remove the "id" property.

Before (source table)

  {
    "name":"Doug",
    "id":7,
    "dept":"Accounting"
  }

After (result table)

  {
    "name":"Doug",
    "dept":"Accounting"
  }

Action parameters

JSON Path: id
If the node doesn't exist: Fail


Example #4

Rename property: Rename the "id" property to "ident".

Before (source table)

  {
    "name":"Doug",
    "id":7,
    "dept":"Accounting"
  }

After (result table)

  {
    "name":"Doug",
    "ident":7,
    "dept":"Accounting"
  }

Action parameters

JSON Path: id
Replace with: ident
If the node doesn't exist: Fail


Example #5

Format JSON (minimize size): Consolidate the JSON structure into a single line.

Before (source table)

  {
    "name":"Doug",
    "id":7,
    "dept":"Accounting"
  }

After (result table)

{"name":"Doug","ident":7,"dept":"Accounting"}

Action parameters

Minimize size


Example #6

Format JSON (Make readable): Expand the single-line JSON into a multi-line format.

Before (source table)

{"name":"(insert name)","ident" 7,"dept":"Accounting"}

After (result table)

  {
    "name":"Doug",
    "id":7,
    "dept":"Accounting"
  }

Action parameters

Make readable


Community examples

See also

transformations/modifyjson.txt · Last modified: 2025/02/05 05:39 by yurii

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki