josdejong/jsonrepair

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

Open

#159 aperta il 28 mar 2026

Vedi su GitHub
 (3 commenti) (0 reazioni) (0 assegnatari)TypeScript (83 fork)github user discovery
enhancementhelp wanted

Metriche repository

Star
 (2359 star)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

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.

Guida contributor