MARKETPLACE
PLUGINS
TCH - JSON MANAGER
TCH - JSON Manager logo

TCH - JSON Manager

Published June 2026
   •    Updated this month

Plugin details

I built this because I work with JSON alot. Reminder: I update my plugins when I want to.
TCH - JSON Manager edits JSON in place. It supports both root JSON objects and root JSON arrays, so you can update a single document or an array of records with the same plugin.

Use it to query, validate, compare, and transform JSON with JSONPath-based actions, including array operations like splice, sort, filter, map, reverse, and deduplication.

See instructions for samples and element properties for more help text.

Free

For everyone

stars   •   0 ratings
3 installs  
This plugin does not collect or track your personal data.

Other actions

Platform

Web

Contributor details

Ihsan Zainal logo
Ihsan Zainal
Joined 2021   •   26 Plugins
View contributor profile

Instructions

Sample Data Structure
{ "name": "John Doe", "age": 30, "email": "[[color=#0205d3][email=john@example.com]john@example.com[/email][/color]](mailto:[color=#0205d3][email=john@example.com]john@example.com[/email][/color])", "address": { "street": "123 Main St", "city": "New York", "zip": "10001" }, "contacts": [
{"name": "Alice", "phone": "555-1001", "age": 25},
{"name": "Bob", "phone": "555-1002", "age": 35},
{"name": "Charlie", "phone": "555-1003", "age": 22}
], "tags": ["friend", "colleague", "mentor"] }

Basic Path Examples

  • name Result: "John Doe" Description: Direct property
  • age Result: 30 Description: Numeric value
  • email Result: "[john@example.com](mailto:john@example.com)" Description: String value
  • address.city Result: "New York" Description: Nested property
  • address.zip Result: "10001" Description: Nested value
  • tags[0] Result: "friend" Description: First array item
  • tags[1] Result: "colleague" Description: Second array item
  • tags[-1] Result: "mentor" Description: Last array item

Array Access Examples

  • contacts[0] Result: { "name": "Alice", "phone": "555-1001", "age": 25 }
    Description: First contact
  • contacts[1] Result: { "name": "Bob", "phone": "555-1002", "age": 35 }
    Description: Second contact
  • contacts[0].name Result: "Alice"
    Description: Name of first contact
  • contacts
  • .name
  • Result: ["Alice", "Bob", "Charlie"]
    Description: All contact names
  • contacts[0:2] Result: First 2 contacts Description: Array slice
  • Filter Examples
    • contacts[?(@.age > 30)] Result: [
      {
      "name": "Bob",
      "phone": "555-1002",
      "age": 35
      }
      ]
      Description: Contacts older than 30
    • contacts[?(@.age < 30)] Result: [
      {
      "name": "Alice",
      "phone": "555-1001",
      "age": 25
      },
      {
      "name": "Charlie",
      "phone": "555-1003",
      "age": 22
      }
      ]
      Description: Contacts younger than 30
    • contacts[?(@.name == "Alice")] Result: [
      {
      "name": "Alice",
      "phone": "555-1001",
      "age": 25
      }
      ]
      Description: Find Alice
    • contacts[?(@.phone =~ /555-100[12]/)] Result: Matches Alice and Bob Description: Regex match on phone
    • $[?(@.name)] Result: Root object Description: Objects with name property
    Simplified Path Syntax The plugin automatically converts common patterns into standard JSONPath expressions.
    • name="John" Converts To: [?(@.name == "John")]
      Description: Filter by name
    • contacts[0] Converts To: Standard notation Description: Already valid
    • address.city Converts To: Standard notation Description: Already valid
    • tags[0] Converts To: Standard notation Description: Already valid
    Recursive Descent Examples
    • $..name Description: All "name" properties recursively Result: ["John Doe", "Alice", "Bob", "Charlie"]

    • $..email Description: All "email" properties recursively Result: ["[[color=#0205d3][email=john@example.com]john@example.com[/email][/color]](mailto:[color=#0205d3][email=john@example.com]john@example.com[/email][/color])"]

    • $..phone Description: All "phone" properties recursively Result: ["555-1001", "555-1002", "555-1003"]

    • $..age Description: All "age" properties recursively Result: [30, 25, 35, 22]
    Root and Complex Queries
    • $ — Entire root object
    • $.contacts — Contacts array
    • $.address — Address object
    • $.contacts
    • — All items in contacts array
    • $.contacts[?(@.age >= 25)] — Contacts age 25 or older
    • $...* — All values at all levels
  • Common Use Cases with queryJSON Query 1: Find all contacts under age 25 Path: contacts[?(@.age < 25)] Result: [
    {
    "name": "Charlie",
    "phone": "555-1003",
    "age": 22
    }
    ]
    Query 2: Get all phone numbers Path: $..phone Result: [
    "555-1001",
    "555-1002",
    "555-1003"
    ]
    Query 3: Access nested address city Path: address.city Result: "New York"
    Query 4: Find contact by specific name Path: contacts[?(@.name == "Bob")] Result: [
    {
    "name": "Bob",
    "phone": "555-1002",
    "age": 35
    }
    ]
    Query 5: Get first contact's full info Path: contacts[0] Result: { "name": "Alice", "phone": "555-1001", "age": 25 }
  • Types

    This plugin can be found under the following types:
    Background Services   •   Element   •   Event   •   Action

    Categories

    This plugin can be found under the following categories:

    Resources

    Support contact
    Documentation
    Tutorial

    Rating and reviews

    No reviews yet

    This plugin has not received any reviews.
    Bubble