Skip to main content
The JSON Tools connector provides operations for parsing, querying with JSONPath, and transforming JSON data within your workflows.
No connection required; this utility connector works out of the box.

Tools

Parse a JSON string into a structured object.
json
string
required
JSON string to parse.
Example request:
{
  "json": "{\"name\":\"Alice\",\"age\":30,\"active\":true}"
}
Example response:
{
  "name": "Alice",
  "age": 30,
  "active": true
}
Serialize data to a JSON string.
data
any
required
Data to serialize.
pretty
boolean
default:"true"
Pretty-print with indentation.
indent
number
default:"2"
Number of indentation spaces.
encoding
enum
default:"utf8"
Output encoding for the result field: utf8 (default) or base64 (for email attachments, SFTP uploads, or knowledge-base embedding). The response includes an encoding tag.
Example request:
{
  "data": { "name": "Alice", "roles": ["admin", "user"] },
  "pretty": false
}
Example response:
"{\"name\":\"Alice\",\"roles\":[\"admin\",\"user\"]}"
Extract data using JSONPath expressions.
data
any
required
JSON data to query.
path
string
required
JSONPath expression (e.g., $.store.book[*].author).
Example request:
{
  "data": {
    "store": {
      "books": [
        { "title": "Dune", "price": 12.99 },
        { "title": "Neuromancer", "price": 9.99 },
        { "title": "Foundation", "price": 14.99 }
      ]
    }
  },
  "path": "$.store.books[?(@.price<13)]"
}
Example response:
[
  { "title": "Dune", "price": 12.99 },
  { "title": "Neuromancer", "price": 9.99 }
]
Convert nested objects to flat dot-notation keys.
data
any
required
JSON data to flatten.
delimiter
string
default:"."
Key separator.
safe
boolean
default:"false"
Preserve arrays instead of flattening them.
Example request:
{
  "data": {
    "user": {
      "name": "Alice",
      "address": { "city": "Portland", "zip": "97201" }
    }
  }
}
Example response:
{
  "user.name": "Alice",
  "user.address.city": "Portland",
  "user.address.zip": "97201"
}
Convert flat dot-notation keys back to nested objects.
data
any
required
Flattened data.
delimiter
string
default:"."
Key separator.
Example request:
{
  "data": {
    "user.name": "Alice",
    "user.address.city": "Portland",
    "user.address.zip": "97201"
  }
}
Example response:
{
  "user": {
    "name": "Alice",
    "address": { "city": "Portland", "zip": "97201" }
  }
}
Deep merge multiple objects together.
objects
any[]
required
Array of objects to merge.
Example request:
{
  "objects": [
    { "theme": "dark", "lang": "en", "notifications": { "email": true } },
    { "lang": "fr", "notifications": { "sms": true } }
  ]
}
Example response:
{
  "theme": "dark",
  "lang": "fr",
  "notifications": {
    "email": true,
    "sms": true
  }
}
Find differences between two JSON objects.
obj1
any
required
First object.
obj2
any
required
Second object.
Example request:
{
  "obj1": { "name": "Alice", "age": 30, "city": "Portland" },
  "obj2": { "name": "Alice", "age": 31, "role": "admin" }
}
Example response:
[
  { "path": "age", "type": "changed", "oldValue": 30, "newValue": 31 },
  { "path": "city", "type": "removed", "oldValue": "Portland" },
  { "path": "role", "type": "added", "newValue": "admin" }
]
Extract selected keys from an object.
data
any
required
Source object.
keys
string[]
required
Keys to pick.
Example request:
{
  "data": { "id": 1, "name": "Alice", "email": "alice@example.com", "password": "hashed_pw" },
  "keys": ["id", "name", "email"]
}
Example response:
{
  "id": 1,
  "name": "Alice",
  "email": "alice@example.com"
}
Remove selected keys from an object.
data
any
required
Source object.
keys
string[]
required
Keys to remove.
Example request:
{
  "data": { "id": 1, "name": "Alice", "email": "alice@example.com", "password": "hashed_pw" },
  "keys": ["password"]
}
Example response:
{
  "id": 1,
  "name": "Alice",
  "email": "alice@example.com"
}
Retrieve a value using dot-notation path.
data
any
required
Source object.
path
string
required
Dot-notation path (e.g., user.address.city).
defaultValue
any
Default value if path not found.
Example request:
{
  "data": {
    "user": {
      "address": { "city": "Portland", "state": "OR" }
    }
  },
  "path": "user.address.city"
}
Example response:
"Portland"
Set a value at a dot-notation path.
data
any
required
Source object.
path
string
required
Dot-notation path.
value
any
required
Value to set.
Example request:
{
  "data": { "user": { "name": "Alice" } },
  "path": "user.address.city",
  "value": "Portland"
}
Example response:
{
  "user": {
    "name": "Alice",
    "address": { "city": "Portland" }
  }
}
Remove all whitespace from a JSON string.
json
string
required
JSON string to minify.
encoding
enum
default:"utf8"
Output encoding for the result field: utf8 (default) or base64 (for email attachments, SFTP uploads, or knowledge-base embedding). The response includes an encoding tag.
Example request:
{
  "json": "{\n  \"name\": \"Alice\",\n  \"age\": 30\n}"
}
Example response:
"{\"name\":\"Alice\",\"age\":30}"
Format a JSON string with indentation.
json
string
required
JSON string to format.
indent
number
default:"2"
Number of indentation spaces.
encoding
enum
default:"utf8"
Output encoding for the result field: utf8 (default) or base64 (for email attachments, SFTP uploads, or knowledge-base embedding). The response includes an encoding tag.
Example request:
{
  "json": "{\"name\":\"Alice\",\"age\":30}",
  "indent": 4
}
Example response:
"{\n    \"name\": \"Alice\",\n    \"age\": 30\n}"
Extract all keys from an object.
data
any
required
Source object.
deep
boolean
default:"false"
Include nested keys with dot-notation.
Example request:
{
  "data": {
    "name": "Alice",
    "address": { "city": "Portland", "zip": "97201" }
  },
  "deep": true
}
Example response:
["name", "address.city", "address.zip"]
Extract all values from an object.
data
any
required
Source object.
Example request:
{
  "data": { "name": "Alice", "age": 30, "active": true }
}
Example response:
["Alice", 30, true]
Check if a string is valid JSON.
json
string
required
String to validate.
Example request:
{
  "json": "{name: 'Alice'}"
}
Example response:
{
  "valid": false,
  "error": "Expected property name or '}' at position 1"
}