data quality checks (mixed-type arrays, empty strings, extreme string
lengths)
duplicate detection for configurable fields (default: sku)
odd value detection for repeated key paths
consistency checks for value types under the same key path
HTML tag detection in string values
JSON-to-JSON comparison for the active file against another selected JSON
file, including added/removed/changed summaries and path-level difference
previews
opens a side-by-side diff tab (like commit compare) by default
Sidebar quick tools:
one-click actions for QA, compare, syntax, format/minify, and split
efficiency panel showing parse threshold and semantic-check behavior
Safe mode for large JSON documents:
skips expensive full parsing above a configurable size
runs a fast structural scan with approximate metrics
Safe transform commands:
format JSON
minify JSON
both are blocked for files above the configured parse limit to avoid memory
spikes
Large-array chunk export command:
splits top-level arrays into multiple JSON files without full-document parse
writes a split manifest with chunk counts and output metadata
Problems panel diagnostics for parse and QA findings
Detailed output report in the JSONOps output channel
Commands
JSONOps: Run QA Analysis
JSONOps: Run QA with Custom Duplicate Fields
JSONOps: Open Sidebar
JSONOps: Compare Active JSON Against Another JSON
JSONOps: Validate Syntax
JSONOps: Large JSON Safe Summary
JSONOps: Format JSON Safely
JSONOps: Minify JSON Safely
JSONOps: Split Top-Level Array into Chunks
Open the Command Palette and run these commands on a JSON document.
Extension Settings
jsonops.maxFullParseMb
default: 10
max file size for full parse operations (JSON.parse)
jsonops.maxRecommendedNodeCount
default: 250000
warning threshold for total node count
jsonops.maxRecommendedDepth
default: 32
warning threshold for nesting depth
jsonops.maxRecommendedArrayLength
default: 10000
warning threshold for largest array length
jsonops.maxRecommendedStringLength
default: 10000
warning threshold for longest string value
jsonops.duplicateFieldNames
default: ["sku"]
fields used for duplicate primitive value checks
jsonops.enableHtmlTagCheck
default: true
enables detection of HTML-like tags in string values
jsonops.oddValueMaxFrequencyRatio
default: 0.15
odd value threshold ratio for repeated key paths
jsonops.oddValueMinSampleCount
default: 5
minimum sample count before odd value detection runs
jsonops.maxReportedIssuesPerRule
default: 25
caps the number of reported issues per QA rule
jsonops.compareDiffPreviewLimit
default: 10
maximum number of sample diffs shown for JSON comparison
jsonops.openDiffEditorOnCompare
default: true
opens commit-style side-by-side diff tab when running compare
jsonops.splitChunkSize
default: 1000
number of top-level array items per split file
jsonops.splitPrettyPrint
default: false
pretty-print split chunk output (slower on large chunks)
jsonops.splitOutputFolderSuffix
default: -chunks
suffix used when creating timestamped split output folders
Large File Behavior
When a document exceeds jsonops.maxFullParseMb, JSONOps switches to fast mode.
Fast mode performs a single-pass structural scan and avoids full object creation
in memory. This keeps the extension responsive for very large files.
Known Limitations
Fast mode reports approximate counts (key count and depth estimates).
Formatting/minifying requires full parse and is intentionally blocked for
files above the configured limit.
Split command requires the top-level JSON value to be an array.