T
Toolkit.app
/JSON Query & Transform

JSON Query & Transform

Apply multiple JavaScript transformation stages to query, filter, and manipulate your JSON data using Lodash utilities. Every transformation runs entirely in your browser for maximum privacy.

Input JSON

Transformation Stages

JavaScript

Transformed Output

About JSON Query & Transform

This tool allows you to apply multiple JavaScript transformations to your JSON data in sequence. Each stage can filter, transform, or enrich your data. You can selectively enable or disable stages (except the first one) to fine-tune your transformation pipeline. The powerful Lodash utility library is available in all transformation functions to make data manipulation simpler.

The transformation editor provides JavaScript syntax highlighting, code completion, and formatting support for a smooth editing experience.

How to Use This Tool

  1. Paste your JSON data in the input area
  2. Write transformation code for each stage using the code editor
  3. Each stage should have a transform function that accepts the data from the previous stage and returns the transformed data
  4. Use Lodash (available as _) for powerful data manipulation functions
  5. Toggle stages on or off to control which transformations are applied
  6. Click "Run Transformation" to process the enabled stages and see the final result

Example Transformations with Lodash

Filter an array of users:

function transform(data) {
  // Filter with lodash
  return _.filter(data.users, { active: true, role: 'admin' });
}

Group and count items:

function transform(data) {
  // Group users by role and count them
  return _.chain(data.users)
    .groupBy('role')
    .mapValues(users => ({
      count: users.length,
      names: _.map(users, 'name')
    }))
    .value();
}

Transform and sort data:

function transform(data) {
  return _.chain(data)
    .map(item => ({
      id: item.id,
      fullName: `${item.firstName} ${item.lastName}`,
      // Pick specific properties
      details: _.pick(item, ['email', 'phone', 'address'])
    }))
    .sortBy('fullName')
    .value();
}

Common Use Cases

  • Filtering large datasets to extract only relevant information
  • Restructuring API responses to match your application's data model
  • Data normalization and cleaning before processing
  • Combining multiple data sources into a unified format
  • Calculating aggregations or statistics from raw data
  • Grouping, sorting, and transforming complex nested structures