Troubleshooting
Find the message or the problem you see, then follow the fix. Messages are quoted as JSON Digger shows them; N and name stand for a number or a file name.
Opening files
Section titled “Opening files”Malformed JSON @ byte N in the status bar
Section titled “Malformed JSON @ byte N in the status bar”The file has a syntax error at byte N, and the tree shows only the part before it. Hover over the message to read the parser’s description. Fix the error in a text editor and open the file again; the message is gone when the file is valid. See Open malformed JSON.
If the file holds one JSON value per line, it is NDJSON with a .json name: see the next entry.
An NDJSON file shows as malformed after its first line
Section titled “An NDJSON file shows as malformed after its first line”The extension decides the format, so a file named .json is read as one JSON document. Rename it to .ndjson or .jsonl and open it again: the tree then lists one record per line. See Supported formats.
A .log or .txt file opens as plain text
Section titled “A .log or .txt file opens as plain text”Files ending in .log or .txt always open in the Text view, even when they contain JSON. Rename a log with one JSON object per line to .ndjson, or a JSON file to .json.
A UTF-16 file looks broken
Section titled “A UTF-16 file looks broken”JSON Digger reads UTF-8 files only; the status bar shows the file’s encoding, such as UTF-16LE. Convert the file to UTF-8 in a text editor, for example with Save As and the UTF-8 encoding, and open the converted file. See Encodings and byte order marks.
I/O error: when opening a file
Section titled “I/O error: when opening a file”The system could not read the file, and the rest of the message is the system’s reason, for example that the file does not exist or that access is denied. Check that the file is still at its path and that your account can read it.
could not decompress a .gz or .zst file
Section titled “could not decompress a .gz or .zst file”decompressed gzip output exceeds the 16 GiB limit(orzstd): the archive holds more than JSON Digger decompresses. Decompress it with another tool and open the result.truncated gzip streamorcorrupt gzip stream: the archive is incomplete or damaged, for example because a download stopped. Download or copy it again.
See Compressed files.
“This file changed on disk. Reload to see the current content.”
Section titled ““This file changed on disk. Reload to see the current content.””Another program changed the file. Search, queries, and editing wait until you select Reload. To reload changed files without the banner, turn on Reload automatically in Preferences → Viewer. See File changes on disk.
“This file was deleted or moved. Close the tab, or try again if it comes back.”
Section titled ““This file was deleted or moved. Close the tab, or try again if it comes back.””The file is no longer at its path. Put it back and select Try again, or select Close tab and open the file from its new place.
Counts keep growing and the tree looks short after opening
Section titled “Counts keep growing and the tree looks short after opening”The status bar shows indexing… N%: the file is still being indexed in the background. Counts and the tree are complete when the indicator disappears. The next time you open the same file, it opens from the index cache without waiting. See How large files open.
first 4,096 of N shown on an object or array
Section titled “first 4,096 of N shown on an object or array”The tree shows the first 4,096 children of an object or array. The other children are still there: search, queries, and the Table view cover them. See Very large objects and arrays.
Search and queries
Section titled “Search and queries”“may be partial, indexing in progress”
Section titled ““may be partial, indexing in progress””The search started before indexing finished, so it may miss matches. Run the search again once indexing… N% has left the status bar.
A search stops with + after the count
Section titled “A search stops with + after the count”A search lists up to 100,000 matches. Narrow it, for example with Exact, with Keys or Values only, or with Search in This Node.
A regular expression search finds nothing
Section titled “A regular expression search finds nothing”When the expression is not valid, for example (abc with a missing ), JSON Digger shows no error: the search finds nothing in values, or searches for the literal text in keys. Check the expression against the regular expression syntax before you trust an empty result. See Search modes.
The query bar shows Error
Section titled “The query bar shows Error”The query has a mistake. Hover over Error to read the message, for example jq parse error: followed by the place of the mistake. The syntax of each language is in Query syntax.
“Subtree too large to query in memory. Use a narrower scope.”
Section titled ““Subtree too large to query in memory. Use a narrower scope.””jq and JSONPath load the data they query into memory, up to 512 MiB. Query a smaller part of the document, or use SQL, which reads the file from disk. See Large documents.
“value is still being indexed; try again when indexing completes”
Section titled ““value is still being indexed; try again when indexing completes””The node continues past the part of the file indexed so far. Wait until indexing… N% leaves the status bar, then run the query or copy again.
“an NDJSON document has no single root value; query a record”
Section titled ““an NDJSON document has no single root value; query a record””Filter and JSONPath queries run on JSON files. On an NDJSON file, use jq, which runs once per record, or SQL.
“Select an array to query: right-click it and choose Query Array with SQL.”
Section titled ““Select an array to query: right-click it and choose Query Array with SQL.””SQL needs rows, and the root of this file is an object. Right-click one of its arrays in the tree and choose Query Array with SQL. See Choose what doc contains.
“This array can be queried once indexing finishes.”
Section titled ““This array can be queried once indexing finishes.””SQL over an array inside a document waits for indexing. Wait until indexing… N% leaves the status bar.
“The query ran out of its memory limit.”
Section titled ““The query ran out of its memory limit.””The query needs more memory than the SQL memory limit allows. Aggregate more, select fewer columns, add a LIMIT, or raise SQL memory limit (MiB) in Preferences → Viewer. See Memory and large files.
“Only queries can run here. Use Export to write a file.”
Section titled ““Only queries can run here. Use Export to write a file.””The SQL tab runs one read-only SELECT query at a time. To write the result to a file, run the query and select Export every row. See Accepted statements.
Editing and saving
Section titled “Editing and saving”An edit command shows a reason in parentheses
Section titled “An edit command shows a reason in parentheses”When a document cannot be edited, the edit commands show why, for example Edit Value… (Only JSON documents can be edited.):
| Reason | Fix |
|---|---|
| This document is not backed by a file. | Pasted, fetched, and repaired documents: Save As, then open the saved file |
| Only JSON documents can be edited. | NDJSON and plain text files: edit them in a text editor |
| Only UTF-8 files can be edited. | Convert the file to UTF-8 |
| The file changed on disk. Reload it first. | Select Reload in the banner |
| The file is still being indexed. | Wait until indexing… N% leaves the status bar |
| The file is not valid JSON. | Fix the error shown in the status bar in a text editor |
| The file is too large to edit. | Edit the file in another tool; JSON Digger edits files of up to 2 GiB |
| The file is read-only. | Change the file’s permissions, or Save As to another file |
| The file’s folder is not writable. | Move the file to a folder you can write to, or Save As there |
| Not enough free disk space to edit this file. | Free space on the file’s drive; see the next entry |
See What you can edit.
“Not enough free disk space to edit this file.”
Section titled ““Not enough free disk space to edit this file.””Each edit writes a copy of the file on the same drive, and JSON Digger checks for room first. Free space on that drive, or save your edits to reduce the copies kept. See Edits go to a copy.
“Overwrite the changed file?”
Section titled ““Overwrite the changed file?””Another program changed the file while you were editing it. Overwrite replaces its changes with your version. To keep its changes instead, select Cancel, then Discard in the banner, reload, and make your edits again. See Files with unsaved edits.
Save fails: “the file is locked by another program and was not changed”
Section titled “Save fails: “the file is locked by another program and was not changed””Another program holds the file open, for example an editor or a sync tool. Your edits are kept. Close the other program and press Ctrl+S again; the dot on the tab disappears when the save succeeds.
Save fails: “the original file was removed but the new contents could not be moved into place”
Section titled “Save fails: “the original file was removed but the new contents could not be moved into place””Your edits are now the only copy of the file. Press Ctrl+S again until saving succeeds, and do not choose Discard and Close or Quit Without Saving before then. See Save.
“Recover unsaved edits of name?” at startup
Section titled ““Recover unsaved edits of name?” at startup”JSON Digger closed with unsaved edits, for example after a crash. Select Recover to reopen the file with the edits, then review and save them. See Recover edits after a crash.
Files named like .config.jdig-edit-0badf00d-1.json next to a file
Section titled “Files named like .config.jdig-edit-0badf00d-1.json next to a file”These are the copies that hold unsaved edits. If one is left while JSON Digger is closed and no recovery is offered for it, you can delete it. See Edits go to a copy.
Fetching from a URL
Section titled “Fetching from a URL”Request failed: in the Fetch dialog
Section titled “Request failed: in the Fetch dialog”The request did not get a response: the address is wrong, the server cannot be reached, its certificate is not trusted, or it took longer than Timeout (s). The rest of the message gives the reason. Check the URL in a browser, and raise Timeout (s) for a slow API.
A fetch shows a JSON parse error
Section titled “A fetch shows a JSON parse error”The response is not JSON, often an HTML error page for a wrong address or missing credentials. JSON Digger shows only the parser’s error, so open the URL in a browser to see what the server returns, and add the authentication or headers the API needs.
Response too large (> 256 MB)
Section titled “Response too large (> 256 MB)”The response is larger than JSON Digger fetches. Download it with another tool, such as a browser or curl, and open the file.
“The text is not a cURL command with a URL.”
Section titled ““The text is not a cURL command with a URL.””Paste cURL found no curl command with an address in the clipboard. Copy the request again as cURL, for example in the browser’s developer tools with Copy as cURL, and select Paste cURL.
Installing
Section titled “Installing”“Windows protected your PC”
Section titled ““Windows protected your PC””Windows SmartScreen does not recognize the installer. Select More info, then Run anyway. See Windows.
macOS says it cannot verify JSON Digger
Section titled “macOS says it cannot verify JSON Digger”Open System Settings → Privacy & Security and select Open Anyway next to the message about JSON Digger. See macOS.
error: open error: I/O error:
Section titled “error: open error: I/O error:”jdig could not read the file. The rest of the message is the system’s reason; check the path and your access to the file.
jdig shows (empty) for a .gz or .zst file
Section titled “jdig shows (empty) for a .gz or .zst file”jdig does not decompress files. Decompress the file first, for example with gzip -d or zstd -d, and open the result, or open the compressed file in the desktop app.
Copying does nothing in jdig over SSH
Section titled “Copying does nothing in jdig over SSH”jdig copies to the desktop clipboard of the computer it runs on, so copying does nothing over SSH or in a terminal without a desktop session. See Copy values and paths.
jdig shows only part of a file, or old values
Section titled “jdig shows only part of a file, or old values”jdig does not report syntax errors or notice changes to the file; see When the file changes or is not valid JSON.
A jdig query returns exactly 1,000 results
Section titled “A jdig query returns exactly 1,000 results”jdig stops a query at 1,000 results without a warning; narrow the query, or run it in the desktop app.