Gema Ruby que reimplementa josdejong/jsonrepair: repara documentos JSON inválidos y devuelve JSON válido.
bundle add jsonrepair-rubyrequire 'jsonrepair'
json = "{name: 'John', trailing:,}"
repaired = JsonRepair.jsonrepair(json)
# => '{"name": "John", "trailing":null}'También hay alias:
JsonRepair.repair(json)
JsonRepair.call(json)echo "{name:'John'}" | jsonrepair
# {"name":"John"}jsonrepair broken.json
jsonrepair broken.json --output fixed.json
jsonrepair broken.json --overwriteIncluye soporte para:
- comillas faltantes en claves/strings
- comas y dos puntos faltantes
- llaves/corchetes faltantes o sobrantes
- comentarios
/* ... */y// ... None/True/Falsede Python- cadenas concatenadas (
"a" + "b") - JSONP y tipos MongoDB (
ObjectId(...),NumberLong(...)) - NDJSON hacia arreglo JSON válido
- bloques fenced de Markdown (
json ...)
Si no puede reparar una entrada, lanza JsonRepair::JSONRepairError con position.