josdejong/jsonrepair

Cannot repair JSON with an extra closing brace before additional root properties

Open

#159 geöffnet am 28. März 2026

Auf GitHub ansehen
 (3 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)TypeScript (83 Forks)github user discovery
enhancementhelp wanted

Repository-Metriken

Stars
 (2.359 Stars)
PR-Merge-Metriken
 (PR-Metriken ausstehend)

Beschreibung

jsonrepair appears unable to repair JSON where an extra closing brace closes the root object too early, followed by additional top-level properties.

Minimal repro:

import { jsonrepair } from 'jsonrepair'

const broken = '{"a":{"b":1}}},"c":2}'
console.log(jsonrepair(broken))

CLI repro:

printf '%s' '{"a":{"b":1}}},"c":2}' | jsonrepair

Actual result:

Error: Unexpected character "," at position 14

Expected result:

{"a":{"b":1},"c":2}

The library already documents repairs like adding missing closing brackets, repairing truncated JSON, stripping trailing commas, etc. This case seems like the inverse: there is one superfluous closing brace, and removing it would make the document valid again.

I ran into this with a larger LLM-generated JSON payload where a nested object had one extra } immediately before the next top-level key, which caused the root object to close early.

If this behavior is intentional and out of scope, a note in the README about not handling superfluous closing braces would also help.

Contributor Guide