{
  "issues": [
    {
      "url": "https://api.github.com/repos/josdejong/jsonrepair/issues/147",
      "id": 3468310728,
      "node_id": "I_kwDOEnFqVc7OujjI",
      "number": 147,
      "title": "LLM Result Fix",
      "user": {
        "login": "zhi-qiu-yi",
        "id": 32633065,
        "node_id": "MDQ6VXNlcjMyNjMzMDY1",
        "avatar_url": "https://avatars.githubusercontent.com/u/32633065?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/zhi-qiu-yi",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "labels": {},
      "state": "open",
      "locked": false,
      "assignee": null,
      "assignees": {},
      "milestone": null,
      "comments": 2,
      "created_at": "2025-09-30T09:04:55Z",
      "updated_at": "2025-10-02T15:27:39Z",
      "closed_at": null,
      "author_association": "NONE",
      "active_lock_reason": null,
      "sub_issues_summary": {
        "total": 0,
        "completed": 0,
        "percent_completed": 0
      },
      "issue_dependencies_summary": {
        "blocked_by": 0,
        "total_blocked_by": 0,
        "blocking": 0,
        "total_blocking": 0
      },
      "body": "Raw LLM Result：\n```javascript\nconst content = `\n    here is the json:\n    \\`\\`\\`json\n    {\n        \"name\": \"John\",\n        \"age\": 10\n    }\n    \\`\\`\\`\n`;\n```\nExpect Fixed Result:\n```json\n{\n    \"name\": \"John\",\n    \"age\": 10\n}\n```\nActual Fixed Result:\n```json\n[\"here is the json:\",{\"name\":\"John\",\"age\":10},\"\",\"\\n\"]\n```",
      "closed_by": null,
      "reactions": {
        "url": "https://api.github.com/repos/josdejong/jsonrepair/issues/147/reactions",
        "total_count": 0,
        "+1": 0,
        "-1": 0,
        "laugh": 0,
        "hooray": 0,
        "confused": 0,
        "heart": 0,
        "rocket": 0,
        "eyes": 0
      },
      "performed_via_github_app": null,
      "state_reason": null,
      "linked_prs": []
    },
    {
      "url": "https://api.github.com/repos/josdejong/jsonrepair/issues/144",
      "id": 3280908249,
      "node_id": "I_kwDOEnFqVc7Djq_Z",
      "number": 144,
      "title": "repair unescaped double quotes followed by parentheses",
      "user": {
        "login": "stephenarra",
        "id": 5768905,
        "node_id": "MDQ6VXNlcjU3Njg5MDU=",
        "avatar_url": "https://avatars.githubusercontent.com/u/5768905?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/stephenarra",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "labels": {
        "0": {
          "id": 2474477299,
          "node_id": "MDU6TGFiZWwyNDc0NDc3Mjk5",
          "url": "https://api.github.com/repos/josdejong/jsonrepair/labels/enhancement",
          "name": "enhancement",
          "color": "a2eeef",
          "default": true,
          "description": "New feature or request"
        },
        "1": {
          "id": 2474477300,
          "node_id": "MDU6TGFiZWwyNDc0NDc3MzAw",
          "url": "https://api.github.com/repos/josdejong/jsonrepair/labels/help%20wanted",
          "name": "help wanted",
          "color": "008672",
          "default": true,
          "description": "Extra attention is needed"
        }
      },
      "state": "open",
      "locked": false,
      "assignee": null,
      "assignees": {},
      "milestone": null,
      "comments": 1,
      "created_at": "2025-07-31T15:34:48Z",
      "updated_at": "2025-09-26T06:54:09Z",
      "closed_at": null,
      "author_association": "NONE",
      "active_lock_reason": null,
      "sub_issues_summary": {
        "total": 0,
        "completed": 0,
        "percent_completed": 0
      },
      "issue_dependencies_summary": {
        "blocked_by": 0,
        "total_blocked_by": 0,
        "blocking": 0,
        "total_blocking": 0
      },
      "body": "Getting a `Colon expected at position` error when a double quote is at the end of the string:\n```\n{ \"height\": \"53\"\" }\n```\n\nor followed by a special character (eg. `)` or `(`)\n```\n{ \"height\": \"(5'3\")\" }\n```",
      "closed_by": null,
      "reactions": {
        "url": "https://api.github.com/repos/josdejong/jsonrepair/issues/144/reactions",
        "total_count": 0,
        "+1": 0,
        "-1": 0,
        "laugh": 0,
        "hooray": 0,
        "confused": 0,
        "heart": 0,
        "rocket": 0,
        "eyes": 0
      },
      "performed_via_github_app": null,
      "state_reason": null,
      "linked_prs": []
    },
    {
      "url": "https://api.github.com/repos/josdejong/jsonrepair/issues/139",
      "id": 2813292316,
      "node_id": "I_kwDOEnFqVc6nr28c",
      "number": 139,
      "title": "openAi broken JSON, the rescue",
      "user": {
        "login": "TiagoGouvea",
        "id": 2242549,
        "node_id": "MDQ6VXNlcjIyNDI1NDk=",
        "avatar_url": "https://avatars.githubusercontent.com/u/2242549?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/TiagoGouvea",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "labels": {},
      "state": "open",
      "locked": false,
      "assignee": null,
      "assignees": {},
      "milestone": null,
      "comments": 10,
      "created_at": "2025-01-27T15:13:06Z",
      "updated_at": "2025-03-24T15:00:19Z",
      "closed_at": null,
      "author_association": "NONE",
      "active_lock_reason": null,
      "sub_issues_summary": {
        "total": 0,
        "completed": 0,
        "percent_completed": 0
      },
      "issue_dependencies_summary": {
        "blocked_by": 0,
        "total_blocked_by": 0,
        "blocking": 0,
        "total_blocking": 0
      },
      "body": "Your tool is amazing and help a lot.\n\nDealing with LLMs like OpenAi, Gemini, DeepSeek, it very often return crazy invalid JSON, where one `jsonrepair` call is not enougth.\n\nAs example (json inside `message.content`) with two JSON objects togheter:\n\n``` \n {\n      index: 0,\n      message: {\n        role: 'assistant',\n        content: '{\"response\":\"Agora, vou acessar cada uma das notícias que encontrei e extrair informações detalhadas para compor a lista final sobre as novidades na Inteligência Artificial.\",\"goto\":\"leitor\"}\\n' +\n          '{\"response\":\"Acessando e extraindo informações das notícias sobre Inteligência Artificial encontradas anteriormente.\",\"goto\":\"leitor\"}',\n        refusal: null\n      },\n      logprobs: null,\n      finish_reason: 'stop'\n    }\n```\n\nSometime it returns the JSON inside a markdown ` ```json` markup.\n\nI would like to share with you two methods I made here, that helpme solve a little more that crazy json, and maybe it could be an idea to make you lib better.\n\n```\nexport function extractJsonArrayFromString(inputString: string) {\n  let repaired, match;\n  try {\n    const cleanedInputString = inputString\n      .replace(/```json\\s*|\\s*```/g, '')\n      .replace(/```\\s*|\\s*```/g, '')\n      .trim();\n\n    repaired = jsonrepair(cleanedInputString);\n\n    const regex = /({[\\s\\S]*}|[\\[\\s\\S]*\\])/;\n    match = repaired.match(regex);\n\n    if (match) {\n      const jsonArray = JSON.parse(match[0]);\n      return jsonArray;\n    } else {\n      throw new Error('No JSON found.');\n    }\n  } catch (error: any) {\n   // ...\n  }\n}\n\n```\n\n\n```\n\nexport function extractJsonObjectFromString(inputString: string) {\n  let cleanedInputString, match, repaired;\n  try {\n    cleanedInputString = extractOnlyJson(inputString); \n\n    const regex = /{[\\s\\S]*}/;\n    match = cleanedInputString.match(regex);\n\n    if (match) {\n      repaired = jsonrepair(match[0]);\n      return JSON.parse(repaired);\n    } else {\n      throw new Error('No JSON found.');\n    }\n  } catch (error: any) {\n    // ...\n  }\n}\n```\n\n\n```\n\nconst extractOnlyJson = (str: string) => {\n  const start = str.indexOf('{');\n  const end = str.lastIndexOf('}') + 1; // Include the closing brace\n  if (start !== -1 && end !== -1) {\n    return str.slice(start, end);\n  } else {\n    return 'Invalid input: no braces found.';\n  }\n};\n```",
      "closed_by": null,
      "reactions": {
        "url": "https://api.github.com/repos/josdejong/jsonrepair/issues/139/reactions",
        "total_count": 0,
        "+1": 0,
        "-1": 0,
        "laugh": 0,
        "hooray": 0,
        "confused": 0,
        "heart": 0,
        "rocket": 0,
        "eyes": 0
      },
      "performed_via_github_app": null,
      "state_reason": null,
      "linked_prs": []
    },
    {
      "url": "https://api.github.com/repos/josdejong/jsonrepair/issues/137",
      "id": 2782661692,
      "node_id": "I_kwDOEnFqVc6l3Aw8",
      "number": 137,
      "title": "Fails to parse",
      "user": {
        "login": "DesertWalker",
        "id": 13181632,
        "node_id": "MDQ6VXNlcjEzMTgxNjMy",
        "avatar_url": "https://avatars.githubusercontent.com/u/13181632?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/DesertWalker",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "labels": {
        "0": {
          "id": 2474477299,
          "node_id": "MDU6TGFiZWwyNDc0NDc3Mjk5",
          "url": "https://api.github.com/repos/josdejong/jsonrepair/labels/enhancement",
          "name": "enhancement",
          "color": "a2eeef",
          "default": true,
          "description": "New feature or request"
        },
        "1": {
          "id": 2474477300,
          "node_id": "MDU6TGFiZWwyNDc0NDc3MzAw",
          "url": "https://api.github.com/repos/josdejong/jsonrepair/labels/help%20wanted",
          "name": "help wanted",
          "color": "008672",
          "default": true,
          "description": "Extra attention is needed"
        }
      },
      "state": "open",
      "locked": false,
      "assignee": null,
      "assignees": {},
      "milestone": null,
      "comments": 4,
      "created_at": "2025-01-12T19:47:03Z",
      "updated_at": "2025-07-18T08:49:52Z",
      "closed_at": null,
      "author_association": "NONE",
      "active_lock_reason": null,
      "sub_issues_summary": {
        "total": 0,
        "completed": 0,
        "percent_completed": 0
      },
      "issue_dependencies_summary": {
        "blocked_by": 0,
        "total_blocked_by": 0,
        "blocking": 0,
        "total_blocking": 0
      },
      "body": "JSONRepairError: Unexpected character \",\" at position 1002\r\n\r\n[{\"title\":\"Visit feedback\",\"subcategories\":[{\"title\":\"Visit feedback\",\"questions\":[{\"questionOrStatementFromPreviousCall\":\"Great, we’ve been notified of your recent visit to the Hospital, and doctor Berg, Eric would like to know if everything is okay. Can you tell me a bit about your visit and how you're feeling now?\",\"answer\":\"The recovery is going good.\",\"sources\":[{\"messageNo\":7,\"text\":\"My recovery is going good.\"}]}]}]},{\"title\":\"Follow up appointments\",\"subcategories\":[{\"title\":\"Primary Care Physician appointment\",\"questions\":[{\"questionOrStatementFromPreviousCall\":\"Doctor Berg, Eric recommends a follow-up appointment to ensure your well-being, is now a good time to schedule it?\",\"answer\":\"User refused to schedule an appointment.\",\"sources\":[]}]}},{\"title\":\"Specialist questions\",\"questions\":[{\"questionOrStatementFromPreviousCall\":\"Did you schedule an appointment with the CPAP specialist?\",\"answer\":\"Yes, the appointment was scheduled.\",\"sources\":[{\"messageNo\":9,\"text\":\"Yeah.\"}]}]}]},{\"title\":\"Medication Review\",\"subcategories\":[{\"title\":\"New medications\",\"questions\":[{\"questionOrStatementFromPreviousCall\":\"Your Doctor prescribed you with new medication analgin and you will need to take it 1 ea PO TIDWMEAL PRN (Reason: loose stool) times a day. Is this clear?\",\"answer\":\"The instructions are clear.\",\"sources\":[{\"messageNo\":15,\"text\":\"It is clear.\"}]}]},{\"title\":\"Current medication\",\"questions\":[{\"questionOrStatementFromPreviousCall\":\"Are you still taking Aspirin?\",\"answer\":\"Unclear.\",\"sources\":[]},{\"questionOrStatementFromPreviousCall\":\"Are you still taking analgin?\",\"answer\":\"Unclear.\",\"sources\":[]},{\"questionOrStatementFromPreviousCall\":\"Are you taking any other medications that we haven’t discussed yet?\",\"answer\":\"Unclear.\",\"sources\":[]}]},{\"title\":\"Pick up all the medications from the pharmacy\",\"questions\":[{\"questionOrStatementFromPreviousCall\":\"Did you pick up all the medications from the pharmacy?\",\"answer\":\"Unclear.\",\"sources\":[]}]}]},{\"title\":\"SDOH Screening\",\"subcategories\":[{\"title\":\"SDOH\",\"questions\":[{\"questionOrStatementFromPreviousCall\":\"Do you have any concerns about managing your care at home, like access to medications or transportation?\",\"answer\":\"The patient has no concerns about managing care at home.\",\"sources\":[{\"messageNo\":27,\"text\":\"No.\"}]}]}]},{\"title\":\"Home services\",\"subcategories\":[{\"title\":\"Home services:\",\"questions\":[{\"questionOrStatementFromPreviousCall\":\"Since you were discharged from the hospital, have you received any services at home, like physical therapy or other care?\",\"answer\":\"The patient has received mental therapy.\",\"sources\":[{\"messageNo\":31,\"text\":\"I have received the mental therapy.\"}]}]}]}]",
      "closed_by": null,
      "reactions": {
        "url": "https://api.github.com/repos/josdejong/jsonrepair/issues/137/reactions",
        "total_count": 0,
        "+1": 0,
        "-1": 0,
        "laugh": 0,
        "hooray": 0,
        "confused": 0,
        "heart": 0,
        "rocket": 0,
        "eyes": 0
      },
      "performed_via_github_app": null,
      "state_reason": null,
      "linked_prs": []
    },
    {
      "url": "https://api.github.com/repos/josdejong/jsonrepair/issues/129",
      "id": 2367855302,
      "node_id": "I_kwDOEnFqVc6NIprG",
      "number": 129,
      "title": "Failing when parsing double quotes inside a string which are followed by a Comma",
      "user": {
        "login": "itinance",
        "id": 1758597,
        "node_id": "MDQ6VXNlcjE3NTg1OTc=",
        "avatar_url": "https://avatars.githubusercontent.com/u/1758597?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/itinance",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "labels": {
        "0": {
          "id": 2474477299,
          "node_id": "MDU6TGFiZWwyNDc0NDc3Mjk5",
          "url": "https://api.github.com/repos/josdejong/jsonrepair/labels/enhancement",
          "name": "enhancement",
          "color": "a2eeef",
          "default": true,
          "description": "New feature or request"
        },
        "1": {
          "id": 2474477300,
          "node_id": "MDU6TGFiZWwyNDc0NDc3MzAw",
          "url": "https://api.github.com/repos/josdejong/jsonrepair/labels/help%20wanted",
          "name": "help wanted",
          "color": "008672",
          "default": true,
          "description": "Extra attention is needed"
        }
      },
      "state": "open",
      "locked": false,
      "assignee": null,
      "assignees": {},
      "milestone": null,
      "comments": 3,
      "created_at": "2024-06-22T14:35:15Z",
      "updated_at": "2024-11-06T07:24:57Z",
      "closed_at": null,
      "author_association": "NONE",
      "active_lock_reason": null,
      "sub_issues_summary": {
        "total": 0,
        "completed": 0,
        "percent_completed": 0
      },
      "issue_dependencies_summary": {
        "blocked_by": 0,
        "total_blocked_by": 0,
        "blocking": 0,
        "total_blocking": 0
      },
      "body": "I discovered an output made by Claude 3 API, that can't get repaired by this tool:\r\n\r\n```\r\n{\r\n  \"id\": \"251115\",\r\n  \"category\": \"Politics\",\r\n  \"reason\": \"The headline discusses a city's policy to become an \"Airbnb-free zone\", which is a political decision.\"\r\n}\r\n\r\n```\r\n\r\nIt won't fix the double quotes inside the string maybe due to the comma following after the second double quote in `an \"Airbnb-free zone\", which`\r\n",
      "closed_by": null,
      "reactions": {
        "url": "https://api.github.com/repos/josdejong/jsonrepair/issues/129/reactions",
        "total_count": 2,
        "+1": 2,
        "-1": 0,
        "laugh": 0,
        "hooray": 0,
        "confused": 0,
        "heart": 0,
        "rocket": 0,
        "eyes": 0
      },
      "performed_via_github_app": null,
      "state_reason": null,
      "linked_prs": []
    },
    {
      "url": "https://api.github.com/repos/josdejong/jsonrepair/issues/119",
      "id": 2158338500,
      "node_id": "I_kwDOEnFqVc6ApaHE",
      "number": 119,
      "title": "Strip escape characters from an escaped string using two double quotes as escape",
      "user": {
        "login": "josdejong",
        "id": 568626,
        "node_id": "MDQ6VXNlcjU2ODYyNg==",
        "avatar_url": "https://avatars.githubusercontent.com/u/568626?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/josdejong",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "labels": {
        "0": {
          "id": 2474477299,
          "node_id": "MDU6TGFiZWwyNDc0NDc3Mjk5",
          "url": "https://api.github.com/repos/josdejong/jsonrepair/labels/enhancement",
          "name": "enhancement",
          "color": "a2eeef",
          "default": true,
          "description": "New feature or request"
        }
      },
      "state": "open",
      "locked": false,
      "assignee": null,
      "assignees": {},
      "milestone": null,
      "comments": 0,
      "created_at": "2024-02-28T07:58:01Z",
      "updated_at": "2024-02-28T07:58:02Z",
      "closed_at": null,
      "author_association": "OWNER",
      "active_lock_reason": null,
      "sub_issues_summary": {
        "total": 0,
        "completed": 0,
        "percent_completed": 0
      },
      "issue_dependencies_summary": {
        "blocked_by": 0,
        "total_blocked_by": 0,
        "blocking": 0,
        "total_blocking": 0
      },
      "body": "In many programming languages, a backslash is used to escape quotes in a string, like:\r\n\r\n```\r\n\"{\\\"stringified\\\": \\\"content\\\"}\"\r\n```\r\n\r\nSome languages though use a pair of double quotes to escape, for example batch scripts and C# verbatim string literals, . For example:\r\n\r\n```\r\n\"{\"\"stringified\"\": \"\"content\"\"}\"\r\n``` \r\n\r\nThe `jsonrepair` library already can repair escaped contents using backslash. It would be nice if it can also repair pairs of double quotes.",
      "closed_by": null,
      "reactions": {
        "url": "https://api.github.com/repos/josdejong/jsonrepair/issues/119/reactions",
        "total_count": 0,
        "+1": 0,
        "-1": 0,
        "laugh": 0,
        "hooray": 0,
        "confused": 0,
        "heart": 0,
        "rocket": 0,
        "eyes": 0
      },
      "performed_via_github_app": null,
      "state_reason": null,
      "linked_prs": []
    },
    {
      "url": "https://api.github.com/repos/josdejong/jsonrepair/issues/95",
      "id": 1854998601,
      "node_id": "I_kwDOEnFqVc5ukQhJ",
      "number": 95,
      "title": "Wrap jsonrepair as VSCode-Extension?",
      "user": {
        "login": "manuschillernordlb",
        "id": 100573703,
        "node_id": "U_kgDOBf6iBw",
        "avatar_url": "https://avatars.githubusercontent.com/u/100573703?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/manuschillernordlb",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "labels": {
        "0": {
          "id": 2474477299,
          "node_id": "MDU6TGFiZWwyNDc0NDc3Mjk5",
          "url": "https://api.github.com/repos/josdejong/jsonrepair/labels/enhancement",
          "name": "enhancement",
          "color": "a2eeef",
          "default": true,
          "description": "New feature or request"
        },
        "1": {
          "id": 2474477300,
          "node_id": "MDU6TGFiZWwyNDc0NDc3MzAw",
          "url": "https://api.github.com/repos/josdejong/jsonrepair/labels/help%20wanted",
          "name": "help wanted",
          "color": "008672",
          "default": true,
          "description": "Extra attention is needed"
        }
      },
      "state": "open",
      "locked": false,
      "assignee": null,
      "assignees": {},
      "milestone": null,
      "comments": 1,
      "created_at": "2023-08-17T13:24:07Z",
      "updated_at": "2023-08-17T13:37:45Z",
      "closed_at": null,
      "author_association": "NONE",
      "active_lock_reason": null,
      "sub_issues_summary": {
        "total": 0,
        "completed": 0,
        "percent_completed": 0
      },
      "issue_dependencies_summary": {
        "blocked_by": 0,
        "total_blocked_by": 0,
        "blocking": 0,
        "total_blocking": 0
      },
      "body": "It would be super cool, if we could fix JSON-Files directly within VSCode. Have you considered creating an extension yet?\r\nWould that be something that you would be interesting in, or would it rather be a community contribution? :)",
      "closed_by": null,
      "reactions": {
        "url": "https://api.github.com/repos/josdejong/jsonrepair/issues/95/reactions",
        "total_count": 1,
        "+1": 1,
        "-1": 0,
        "laugh": 0,
        "hooray": 0,
        "confused": 0,
        "heart": 0,
        "rocket": 0,
        "eyes": 0
      },
      "performed_via_github_app": null,
      "state_reason": null,
      "linked_prs": []
    },
    {
      "url": "https://api.github.com/repos/josdejong/jsonrepair/issues/79",
      "id": 1055861203,
      "node_id": "I_kwDOEnFqVc4-7ynT",
      "number": 79,
      "title": "Return a list of fixes to original JSON",
      "user": {
        "login": "gloryknight",
        "id": 2104581,
        "node_id": "MDQ6VXNlcjIxMDQ1ODE=",
        "avatar_url": "https://avatars.githubusercontent.com/u/2104581?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/gloryknight",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "labels": {
        "0": {
          "id": 2474477299,
          "node_id": "MDU6TGFiZWwyNDc0NDc3Mjk5",
          "url": "https://api.github.com/repos/josdejong/jsonrepair/labels/enhancement",
          "name": "enhancement",
          "color": "a2eeef",
          "default": true,
          "description": "New feature or request"
        }
      },
      "state": "open",
      "locked": false,
      "assignee": null,
      "assignees": {},
      "milestone": null,
      "comments": 1,
      "created_at": "2021-11-17T08:46:51Z",
      "updated_at": "2021-11-17T15:28:29Z",
      "closed_at": null,
      "author_association": "NONE",
      "active_lock_reason": null,
      "sub_issues_summary": {
        "total": 0,
        "completed": 0,
        "percent_completed": 0
      },
      "issue_dependencies_summary": {
        "blocked_by": 0,
        "total_blocked_by": 0,
        "blocking": 0,
        "total_blocking": 0
      },
      "body": "Thanks for the nice library.\r\n`jsonrepair` returns a single value. To keep the API, I suggest to add a new function e.g. `jsonrepairer` which returns the fixed JSON and an array of fixes the library performed on the original JSON.\r\nThe list could be later inspected if somebody is interested in possible data corruptions.",
      "closed_by": null,
      "reactions": {
        "url": "https://api.github.com/repos/josdejong/jsonrepair/issues/79/reactions",
        "total_count": 4,
        "+1": 4,
        "-1": 0,
        "laugh": 0,
        "hooray": 0,
        "confused": 0,
        "heart": 0,
        "rocket": 0,
        "eyes": 0
      },
      "performed_via_github_app": null,
      "state_reason": null,
      "linked_prs": []
    },
    {
      "url": "https://api.github.com/repos/josdejong/jsonrepair/issues/77",
      "id": 1049867988,
      "node_id": "I_kwDOEnFqVc4-k7bU",
      "number": 77,
      "title": "Make jsonrepair accept an options object allowing to finetune what to fix or not ",
      "user": {
        "login": "maid450",
        "id": 103833,
        "node_id": "MDQ6VXNlcjEwMzgzMw==",
        "avatar_url": "https://avatars.githubusercontent.com/u/103833?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/maid450",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "labels": {
        "0": {
          "id": 2474477299,
          "node_id": "MDU6TGFiZWwyNDc0NDc3Mjk5",
          "url": "https://api.github.com/repos/josdejong/jsonrepair/labels/enhancement",
          "name": "enhancement",
          "color": "a2eeef",
          "default": true,
          "description": "New feature or request"
        }
      },
      "state": "open",
      "locked": false,
      "assignee": null,
      "assignees": {},
      "milestone": null,
      "comments": 1,
      "created_at": "2021-11-10T14:00:10Z",
      "updated_at": "2021-11-11T21:11:27Z",
      "closed_at": null,
      "author_association": "NONE",
      "active_lock_reason": null,
      "sub_issues_summary": {
        "total": 0,
        "completed": 0,
        "percent_completed": 0
      },
      "issue_dependencies_summary": {
        "blocked_by": 0,
        "total_blocked_by": 0,
        "blocking": 0,
        "total_blocking": 0
      },
      "body": "In one project I would like to fix missing quotes, commas, etc... but leave comments as later I'm using a parser that accepts comments.\r\n\r\nIt would be nice to be able to call something like `jsonrepair(json_with_comments, {trimComments: false})` and have it fix everything except stripping comments.\r\n\r\nSimilarly it could accept options to disable every fixing rules available and have it fix everything by default like it works right now.",
      "closed_by": null,
      "reactions": {
        "url": "https://api.github.com/repos/josdejong/jsonrepair/issues/77/reactions",
        "total_count": 2,
        "+1": 2,
        "-1": 0,
        "laugh": 0,
        "hooray": 0,
        "confused": 0,
        "heart": 0,
        "rocket": 0,
        "eyes": 0
      },
      "performed_via_github_app": null,
      "state_reason": null,
      "linked_prs": []
    },
    {
      "url": "https://api.github.com/repos/josdejong/jsonrepair/issues/75",
      "id": 944418685,
      "node_id": "MDU6SXNzdWU5NDQ0MTg2ODU=",
      "number": 75,
      "title": "Repair wrapped lines copied from a terminal",
      "user": {
        "login": "josdejong",
        "id": 568626,
        "node_id": "MDQ6VXNlcjU2ODYyNg==",
        "avatar_url": "https://avatars.githubusercontent.com/u/568626?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/josdejong",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "labels": {
        "0": {
          "id": 2474477299,
          "node_id": "MDU6TGFiZWwyNDc0NDc3Mjk5",
          "url": "https://api.github.com/repos/josdejong/jsonrepair/labels/enhancement",
          "name": "enhancement",
          "color": "a2eeef",
          "default": true,
          "description": "New feature or request"
        }
      },
      "state": "open",
      "locked": false,
      "assignee": null,
      "assignees": {},
      "milestone": null,
      "comments": 0,
      "created_at": "2021-07-14T13:16:05Z",
      "updated_at": "2021-07-14T13:16:05Z",
      "closed_at": null,
      "author_association": "OWNER",
      "active_lock_reason": null,
      "sub_issues_summary": {
        "total": 0,
        "completed": 0,
        "percent_completed": 0
      },
      "issue_dependencies_summary": {
        "blocked_by": 0,
        "total_blocked_by": 0,
        "blocking": 0,
        "total_blocking": 0
      },
      "body": "Terminal output typically is wrapped at for example the 80th character. It may be possible to detect this line wrapping pattern, and try out if removing these returns result in valid JSON to get it repaired.",
      "closed_by": null,
      "reactions": {
        "url": "https://api.github.com/repos/josdejong/jsonrepair/issues/75/reactions",
        "total_count": 0,
        "+1": 0,
        "-1": 0,
        "laugh": 0,
        "hooray": 0,
        "confused": 0,
        "heart": 0,
        "rocket": 0,
        "eyes": 0
      },
      "performed_via_github_app": null,
      "state_reason": null,
      "linked_prs": []
    }
  ],
  "pulls": [],
  "discussions": [
    {
      "id": "D_kwDOEnFqVc4Ae9Ya",
      "number": 142,
      "title": "I wrote an AI-assisted i18n translation library",
      "body": "A huge thank you to @josdejong's `jsonrepair` for being an invaluable tool in my AI-assisted i18n library! \r\n\r\nHandling malformed JSON from various models, whether it's deepseek, openai, gemma, is a constant a challenge, but this dependency saved me countless hours of frustration.  @josdejong, your work is truly appreciated!\r\n\r\n[olelo-honua Github](https://github.com/brownrw8/olelo-honua)\r\n[brownrw8.github.io/olelo-honua/](https://brownrw8.github.io/olelo-honua)",
      "created_at": "2025-03-21T22:23:31Z",
      "updated_at": "2025-03-28T02:56:55Z",
      "category": {
        "name": "Show and tell",
        "emoji": ":raised_hands:"
      },
      "answer": null,
      "user": {
        "login": "brownrw8",
        "avatar_url": "https://avatars.githubusercontent.com/u/6895070?u=3fda4cb3f530c27b7c8a58c1d1ffad758c58e172&v=4"
      }
    },
    {
      "id": "D_kwDOEnFqVc4AZVn7",
      "number": 127,
      "title": "Ellipsis in JSON arrays",
      "body": "Hi there,\r\n\r\nnot sure if this is something you want to include in this library but in my LLM testing, i saw multiple instances of LLMs generating arrays with ellipsis, e.g.:\r\n`[\"123\", \"456\", ...]`\r\nThis obviously fails to parse to JSON. Solution could be to just remove the ...:\r\n`[\"123\", \"456\", ...]` -> `[\"123\", \"456\"]`\r\n\r\nWhat do you think @josdejong ?",
      "created_at": "2024-05-10T16:25:05Z",
      "updated_at": "2024-05-15T13:11:44Z",
      "category": {
        "name": "Ideas",
        "emoji": ":bulb:"
      },
      "answer": null,
      "user": {
        "login": "marian-lambert",
        "avatar_url": "https://avatars.githubusercontent.com/u/25569187?u=bc7bedca4dc91ebc48ed217e663e56fc4414fb48&v=4"
      }
    },
    {
      "id": "D_kwDOEnFqVc4AV5ud",
      "number": 106,
      "title": "Support documents larger than 512MB by streaming the contents",
      "body": "This is a common issue and can be fixed using a variety of methods, but I'm too lazy and too frustrated right now to do a pr. One example would be to use big-json.",
      "created_at": "2022-10-20T19:06:04Z",
      "updated_at": "2023-12-07T13:39:07Z",
      "category": {
        "name": "Ideas",
        "emoji": ":bulb:"
      },
      "answer": null,
      "user": {
        "login": "js-9",
        "avatar_url": "https://avatars.githubusercontent.com/u/97020587?u=a5f4ca187df39e6b38f6a8d8ef9968468e4ab24d&v=4"
      }
    },
    {
      "id": "D_kwDOEnFqVc4AV5uR",
      "number": 105,
      "title": "Welcome to jsonrepair Discussions!",
      "body": "<!--\r\n    ✏️ Optional: Customize the content below to let your community know what you intend to use Discussions for.\r\n-->\r\n## 👋 Welcome!\r\n  We’re using Discussions as a place to connect with other members of our community. We hope that you:\r\n  * Ask questions you’re wondering about.\r\n  * Share ideas.\r\n  * Engage with other community members.\r\n  * Welcome others and are open-minded. Remember that this is a community we\r\n  build together 💪.\r\n\r\n  To get started, comment below with an introduction of yourself and tell us about what you do with this community.\r\n\r\n<!--\r\n  For the maintainers, here are some tips 💡 for getting started with Discussions. We'll leave these in Markdown comments for now, but feel free to take out the comments for all maintainers to see.\r\n\r\n  📢 **Announce to your community** that Discussions is available! Go ahead and send that tweet, post, or link it from the website to drive traffic here.\r\n\r\n  🔗 If you use issue templates, **link any relevant issue templates** such as questions and community conversations to Discussions. Declutter your issues by driving community content to where they belong in Discussions. If you need help, here's a [link to the documentation](https://docs.github.com/en/github/building-a-strong-community/configuring-issue-templates-for-your-repository#configuring-the-template-chooser).\r\n\r\n  ➡️ You can **convert issues to discussions** either individually or bulk by labels. Looking at you, issues labeled “question” or “discussion”.\r\n-->\r\n",
      "created_at": "2023-10-16T08:47:15Z",
      "updated_at": "2023-10-16T08:47:34Z",
      "category": {
        "name": "Announcements",
        "emoji": ":mega:"
      },
      "answer": null,
      "user": {
        "login": "josdejong",
        "avatar_url": "https://avatars.githubusercontent.com/u/568626?u=0f46ef5804412b5d201bf835bd561c5ef12dfc26&v=4"
      }
    }
  ],
  "details": {
    "id": 309422677,
    "node_id": "MDEwOlJlcG9zaXRvcnkzMDk0MjI2Nzc=",
    "name": "jsonrepair",
    "full_name": "josdejong/jsonrepair",
    "private": false,
    "owner": {
      "login": "josdejong",
      "id": 568626,
      "node_id": "MDQ6VXNlcjU2ODYyNg==",
      "avatar_url": "https://avatars.githubusercontent.com/u/568626?v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/josdejong",
      "type": "User",
      "user_view_type": "public",
      "site_admin": false
    },
    "description": "Repair invalid JSON documents",
    "fork": false,
    "url": "https://api.github.com/repos/josdejong/jsonrepair",
    "created_at": "2020-11-02T16:05:02Z",
    "updated_at": "2025-10-03T02:58:34Z",
    "pushed_at": "2025-09-19T14:38:53Z",
    "homepage": "https://josdejong.github.io/jsonrepair/",
    "size": 1858,
    "stargazers_count": 1738,
    "watchers_count": 1738,
    "language": "TypeScript",
    "has_issues": true,
    "has_projects": true,
    "has_downloads": true,
    "has_wiki": false,
    "has_pages": true,
    "has_discussions": true,
    "forks_count": 64,
    "archived": false,
    "disabled": false,
    "open_issues_count": 10,
    "license": {
      "key": "other",
      "name": "Other",
      "spdx_id": "NOASSERTION",
      "url": null,
      "node_id": "MDc6TGljZW5zZTA="
    },
    "allow_forking": true,
    "is_template": false,
    "web_commit_signoff_required": false,
    "topics": {
      "0": "json",
      "1": "repair"
    },
    "visibility": "public",
    "forks": 64,
    "open_issues": 10,
    "watchers": 1738,
    "default_branch": "main",
    "permissions": {
      "admin": false,
      "maintain": false,
      "push": false,
      "triage": false,
      "pull": true
    },
    "temp_clone_token": "",
    "network_count": 64,
    "subscribers_count": 5
  },
  "lastFetched": 1759460677109
}