Skip to content

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.

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.

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.

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.

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.

  • decompressed gzip output exceeds the 16 GiB limit (or zstd): the archive holds more than JSON Digger decompresses. Decompress it with another tool and open the result.
  • truncated gzip stream or corrupt 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.

“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 lists up to 100,000 matches. Narrow it, for example with Exact, with Keys or Values only, or with Search in This Node.

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 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.

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.

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.

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.

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.

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.

Windows SmartScreen does not recognize the installer. Select More info, then Run anyway. See Windows.

Open System Settings → Privacy & Security and select Open Anyway next to the message about JSON Digger. See macOS.

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 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.

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.