Skip to content
uencoder
TUTORIAL

How to Validate JSON

Check whether a string is valid JSON and identify syntax errors with their locations.

Problem

You have a JSON string from an untrusted or hand-edited source and need to verify it is syntactically correct.

Prerequisites

  • Understanding of JSON syntax
  • Ability to read error messages

Steps

  1. 1. Parse the JSON string

    Attempt to parse the string as JSON. A standards-compliant parser will throw an error if the syntax is invalid. Common errors include trailing commas, single-quoted strings, and missing brackets.

    Input
    {"name":"John",}
    Output
    Error: Unexpected token } at position 15
  2. 2. Interpret the error location

    If parsing fails, the error message typically includes the position or line number of the problem. Go to that location in the input and fix the syntax issue. Repeat until parsing succeeds.

    Input
    position 15
    Output
    trailing comma before }
  3. 3. Optionally validate against a schema

    If you have a JSON Schema, validate the parsed JSON against it to check not just syntax but structure (required fields, types, value ranges). Schema validation catches semantic errors that syntax parsing cannot.

    Input
    JSON + schema
    Output
    valid or schema errors

Expected result

Confirmation that the JSON is valid, or a clear error message identifying the problem and its location.

Common errors

Trailing comma in object or array
JSON does not allow trailing commas. Remove the comma after the last element.
Single-quoted strings
JSON requires double quotes for strings and keys. Replace single quotes with double quotes.

Troubleshooting

  • If the error position seems wrong, check for invisible characters like BOM or zero-width spaces.
  • Use a JSON validator with line and column numbers for easier debugging.

Security limits

  • Parsing untrusted JSON is generally safe, but do not use eval() to parse JSON — it can execute arbitrary code. Use JSON.parse instead.

Related tools

Related tasks

Ready to run it?

References