json-repair-js

1.0.0 • Public • Published

json-repair-js

A JavaScript library that repairs JSON strings generated by LLMs or corrupted ones.

Features

  • Automatically detects and parses JSON from LLM outputs
  • Fixes missing quotation marks
  • Fixes missing commas
  • Preserves Unicode characters
  • Finds JSONs in Markdown/text

Installation

npm install json-repair-js

Usage

const { repairJson, loads } = require('json-repair-js');

// Basic usage
const brokenJson = '{ name: John, age: 30 }';
const result = loads(brokenJson);
console.log(result); // { name: "John", age: 30 }

// Parsing JSON from an LLM output
const llmOutput = `I understand, here's a suitable JSON for you: \`\`\`json 
{ 
    "title": "Sample Title",
    "items": ["item1" "item2" "item3"]
}`;

const parsed = loads(llmOutput);
console.log(parsed); // { title: "Sample Title", items: ["item1", "item2", "item3"] }

// Using repairJson for more detailed checks
const result2 = repairJson(brokenJson, {
    returnObjects: false,  // true: returns a JavaScript object, false: returns a JSON string
    skipJsonParse: false, // true: skips JSON.parse check
    logging: false,      // true: returns repair logs as well
    ensureAscii: true   // false: preserves Unicode characters
});

Features and Fixes

  1. Fixing missing quotation marks:
'{ name: John }' -> '{ "name": "John" }'
  1. Fixing missing commas:
'["a" "b" "c"]' -> '["a", "b", "c"]'
  1. Cleaning LLM outputs:
'Here is the JSON: ```json { "key": "value" }```' -> '{ "key": "value" }'
  1. Preserving Unicode characters:
repairJson('{ test: "Türkçe" }', { ensureAscii: false })
// Output: { "test": "Türkçe" }

License

MIT

Package Sidebar

Install

npm i json-repair-js

Weekly Downloads

345

Version

1.0.0

License

MIT

Unpacked Size

16.8 kB

Total Files

7

Last publish

Collaborators

  • alihaydar