json_filter
Extract specific fields from JSON data by defining a shape object. Input a file path (local or URL) and specify desired fields or nested structures to filter results efficiently.
Instructions
Filter JSON data using a shape object to extract only the fields you want. Provide filePath (local file or HTTP/HTTPS URL) and shape parameters.
Input Schema
Name | Required | Description | Default |
---|---|---|---|
chunkIndex | No | Index of chunk to retrieve (0-based). If filtered data exceeds 400KB, it will be automatically chunked. Defaults to 0 if not specified. | |
filePath | Yes | Path to the JSON file (local) or HTTP/HTTPS URL to filter | |
shape | No | Shape object (formatted as valid JSON) defining what fields to extract. Use 'true' to include a field, or nested objects for deep extraction. Examples: 1. Extract single field: {"type": true} 2. Extract multiple fields: {"type": true, "version": true, "source": true} 3. Extract nested fields: {"appState": {"gridSize": true, "viewBackgroundColor": true}} 4. Extract from arrays: {"elements": {"type": true, "x": true, "y": true}} - applies to each array item 5. Complex nested extraction: { "type": true, "version": true, "appState": { "gridSize": true, "viewBackgroundColor": true }, "elements": { "type": true, "text": true, "x": true, "y": true, "boundElements": { "type": true, "id": true } } } Note: - Arrays are automatically handled - the shape is applied to each item in the array. - Use json_schema tool to analyse the JSON file schema before using this tool. - Use json_dry_run tool to get a size breakdown of your desired json shape before using this tool. |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"chunkIndex": {
"description": "Index of chunk to retrieve (0-based). If filtered data exceeds 400KB, it will be automatically chunked. Defaults to 0 if not specified.",
"type": "number"
},
"filePath": {
"description": "Path to the JSON file (local) or HTTP/HTTPS URL to filter",
"type": "string"
},
"shape": {
"description": "Shape object (formatted as valid JSON) defining what fields to extract. Use 'true' to include a field, or nested objects for deep extraction.\n\nExamples:\n1. Extract single field: {\"type\": true}\n2. Extract multiple fields: {\"type\": true, \"version\": true, \"source\": true}\n3. Extract nested fields: {\"appState\": {\"gridSize\": true, \"viewBackgroundColor\": true}}\n4. Extract from arrays: {\"elements\": {\"type\": true, \"x\": true, \"y\": true}} - applies to each array item\n5. Complex nested extraction: {\n \"type\": true,\n \"version\": true,\n \"appState\": {\n \"gridSize\": true,\n \"viewBackgroundColor\": true\n },\n \"elements\": {\n \"type\": true,\n \"text\": true,\n \"x\": true,\n \"y\": true,\n \"boundElements\": {\n \"type\": true,\n \"id\": true\n }\n }\n}\n\nNote: \n- Arrays are automatically handled - the shape is applied to each item in the array.\n- Use json_schema tool to analyse the JSON file schema before using this tool.\n- Use json_dry_run tool to get a size breakdown of your desired json shape before using this tool.\n"
}
},
"required": [
"filePath"
],
"type": "object"
}