josdejong/jsonrepair

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

Open

#159 aberto em 28 de mar. de 2026

Ver no GitHub
 (3 comments) (0 reactions) (0 assignees)TypeScript (83 forks)github user discovery
enhancementhelp wanted

Métricas do repositório

Stars
 (2.359 stars)
Métricas de merge de PR
 (Métricas PR pendentes)

Description

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.

Guia do colaborador