āļāđāļāļāļīāļāļāļĨāļēāļāļāļēāļāđāļ§āļĒāļēāļāļĢāļāđ JSON āļāļĩāđāļāļāļāđāļāļĒāđāļĨāļ°āļ§āļīāļāļĩāļāļēāļĢāđāļāđāđāļāđāļāļĒāđāļāđ Validator
āļāđāļāļāļīāļāļāļĨāļēāļ JSON āļāļąāđāļ§āđāļ
āļāļāđāļ§āļĒāļēāļāļĢāļāđāļāļĩāđāđāļāđāļĄāļāļ§āļāļāļāļ JSON āļŦāļĄāļēāļĒāļāļ§āļēāļĄāļ§āđāļēāđāļĄāđāđāļāđāļāļąāļāļāļĢāļ°āļāļĩāđāļ§āļēāļāļāļīāļāļāļĩāđāđāļāļĩāļĒāļāļāļąāļ§āđāļāļĩāļĒāļ§āļāđāļŠāļēāļĄāļēāļĢāļāļāļģāļĨāļēāļĒāđāļāļāļŠāļēāļĢāļāļąāđāļāļŦāļĄāļāđāļāđ āļāļēāļĢāđāļāđāļēāđāļāļāđāļāļāļīāļāļāļĨāļēāļ JSON āļāļĩāđāļāļāļāđāļāļĒāļāļĩāđāļŠāļļāļāļāļ°āļāđāļ§āļĒāđāļŦāđāļāļļāļāļāļĩāļāļąāļāđāļāđāđāļĢāđāļ§āļāļķāđāļāđāļĨāļ°āļŦāļĨāļĩāļāđāļĨāļĩāđāļĒāļāļāļēāļĢāļāļģāļāļīāļāļāđāļģ āļāđāļēāļāļĨāđāļēāļāļāļĩāđāļāļ·āļāļāļąāļāļŦāļēāļāļĩāđāļāļąāļāļāļąāļāļāļēāļāļāļāđāļāļĒāļāļĩāđāļŠāļļāļ āļāļĢāđāļāļĄāļāļģāļāļāļīāļāļēāļĒāđāļĨāļ°āļ§āļīāļāļĩāļāļēāļĢāđāļāđāđāļāļāļĩāđāļāļąāļāđāļāļāļŠāļģāļŦāļĢāļąāļāđāļāđāļĨāļ°āļāđāļ
1. āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļļāļĨāļ āļēāļāļāđāļāļāđāļēāļĒ (Trailing Commas)
āļāđāļāļāļīāļāļāļĨāļēāļ: Unexpected token āļāļĩāđāļŠāđāļ§āļāļāđāļēāļĒāļāļāļ object āļŦāļĢāļ·āļ array
āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļļāļĨāļ āļēāļāļāđāļāļāđāļēāļĒāļāļāļļāļāļēāļāđāļ JavaScript objects āđāļĨāļ° arrays āđāļāđ āļāļđāļāļŦāđāļēāļĄāļāļĒāđāļēāļāđāļāđāļāļāļēāļāđāļ JSON
JSON āļāļĩāđāđāļĄāđāļāļđāļāļāđāļāļ:
{
"name": "Alice",
"age": 30,
}
āļ§āļīāļāļĩāđāļāđāđāļ: āļĨāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļļāļĨāļ āļēāļāļŦāļĨāļąāļāļĢāļēāļĒāļāļēāļĢāļŠāļļāļāļāđāļēāļĒ
{
"name": "Alice",
"age": 30
}
Arrays āļāļĩāđāļĄāļĩāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļļāļĨāļ āļēāļāļāđāļāļāđāļēāļĒ:
// Invalid
[1, 2, 3,]
// Valid
[1, 2, 3]
2. āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļąāļāļāļĢāļ°āļāļēāļĻāļĢāļāļāļāļĩāļĒāđāļāļēāļāļŦāļēāļĒāđāļāļŦāļĢāļ·āļāđāļĄāđāļāļđāļāļāđāļāļ
āļāđāļāļāļīāļāļāļĨāļēāļ: Unexpected identifier āļŦāļĢāļ·āļ Expected double-quoted property name
JSON āļāđāļāļāļāļēāļĢāđāļŦāđāļāļĩāļĒāđ object āļāļąāđāļāļŦāļĄāļāļāļĒāļđāđāđāļ āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļąāļāļāļĢāļ°āļāļēāļĻāļāļđāđ āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļąāļāļāļĢāļ°āļāļēāļĻāđāļāļĩāđāļĒāļ§āđāļĨāļ°āļāļĩāļĒāđāļāļĩāđāđāļĄāđāļĄāļĩāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļąāļāļāļĢāļ°āļāļēāļĻāđāļĄāđāļāļđāļāļāđāļāļ āđāļĄāđāļ§āđāļēāļāļ°āļāļģāļāļēāļāđāļāđāđāļ JavaScript
JSON āļāļĩāđāđāļĄāđāļāļđāļāļāđāļāļ:
{
name: "Alice",
'occupation': "Engineer"
}
āļ§āļīāļāļĩāđāļāđāđāļ: āđāļāđāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļąāļāļāļĢāļ°āļāļēāļĻāļāļđāđāļĢāļāļāļāļĩāļĒāđāđāļŠāļĄāļ
{
"name": "Alice",
"occupation": "Engineer"
}
3. āļāļēāļĢāđāļāđāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļąāļāļāļĢāļ°āļāļēāļĻāđāļāļĩāđāļĒāļ§āļŠāļģāļŦāļĢāļąāļāļāđāļēāļŠāļāļĢāļīāļ
āļāđāļāļāļīāļāļāļĨāļēāļ: Unexpected identifier āļŦāļĢāļ·āļ Unterminated string
āđāļāđāļāđāļāļĩāļĒāļ§āļāļąāļāļāļĩāļĒāđ āļāđāļēāļŠāļāļĢāļīāļāļāđāļāļāđāļāđāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļąāļāļāļĢāļ°āļāļēāļĻāļāļđāđāđāļ JSON āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļąāļāļāļĢāļ°āļāļēāļĻāđāļāļĩāđāļĒāļ§āđāļĄāđāļāļđāļāļāđāļāļ
JSON āļāļĩāđāđāļĄāđāļāļđāļāļāđāļāļ:
{ "greeting": 'Hello, world!' }
āļ§āļīāļāļĩāđāļāđāđāļ: āđāļāļāļāļĩāđāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļąāļāļāļĢāļ°āļāļēāļĻāđāļāļĩāđāļĒāļ§āļāđāļ§āļĒāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļąāļāļāļĢāļ°āļāļēāļĻāļāļđāđ
{ "greeting": "Hello, world!" }
āđāļāļĨāđāļāļĨāļąāļ: āļŦāļēāļāļŠāļāļĢāļīāļāļāļāļāļāļļāļāļĄāļĩāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļąāļāļāļĢāļ°āļāļēāļĻāļāļđāđ āđāļŦāđ escape āļāđāļ§āļĒ backslash: "He said, \"Hello\""
4. āļāļąāļāļāļĢāļ°āļāļīāđāļĻāļĐāļāļĩāđāđāļĄāđāđāļāđ Escape
āļāđāļāļāļīāļāļāļĨāļēāļ: Unexpected token āļŦāļĢāļ·āļ Invalid character
āļāļąāļāļāļĢāļ°āļāļēāļāļāļąāļ§āļāđāļāļāļāļđāļ escape āđāļāļŠāļāļĢāļīāļ JSON: āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļąāļāļāļĢāļ°āļāļēāļĻāļāļđāđ ("), backslash (\) āđāļĨāļ° control characters
JSON āļāļĩāđāđāļĄāđāļāļđāļāļāđāļāļ:
{
"path": "C:\Users\Documents\file.json",
"quote": "He said "hello""
}
āļ§āļīāļāļĩāđāļāđāđāļ: Escape backslash āđāļĨāļ°āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļąāļāļāļĢāļ°āļāļēāļĻāļāļđāđāļāļĒāđāļēāļāļāļđāļāļāđāļāļ
{
"path": "C:\\Users\\Documents\\file.json",
"quote": "He said \"hello\""
}
āļĢāļēāļĒāļāļēāļĢ JSON Escape Sequences āļāļąāđāļāļŦāļĄāļ
| Sequence | Represents |
|----------|-----------|
| \" | Double quote |
| \\ | Backslash |
| \/ | Forward slash |
| \b | Backspace |
| \f | Form feed |
| \n | Newline |
| \r | Carriage return |
| \t | Tab |
| \uXXXX | Unicode character (e.g., ÃĐ for e) |
5. āļĢāļđāļāđāļāļāļāļąāļ§āđāļĨāļāļāļĩāđāđāļĄāđāļāļđāļāļāđāļāļ
āļāđāļāļāļīāļāļāļĨāļēāļ: Unexpected number āļŦāļĢāļ·āļ Invalid number
JSON āļĄāļĩāļāļāđāļāļāļēāļ°āļŠāļģāļŦāļĢāļąāļāļ§āļīāļāļĩāļāļēāļĢāļāļąāļāļĢāļđāļāđāļāļāļāļąāļ§āđāļĨāļ:
- āđāļĄāđāļāļāļļāļāļēāļāđāļĨāļāļĻāļđāļāļĒāđāļāļģāļŦāļāđāļē (
01āđāļĄāđāļāļđāļāļāđāļāļ) - āļāļāļļāļāļēāļāđāļĨāļāļĻāļđāļāļĒāđāļāļģāļŦāļāđāļēāđāļāļĩāļĒāļāļāļąāļ§āđāļāļĩāļĒāļ§āļŠāļģāļŦāļĢāļąāļāđāļĨāļ
0āđāļāđāļēāļāļąāđāļ - āļāļąāļ§āđāļĨāļāđāļĄāđāļŠāļēāļĄāļēāļĢāļāļĄāļĩāļāļļāļāļāđāļāļāđāļēāļĒāđāļāđ (
10.āđāļĄāđāļāļđāļāļāđāļāļ) - āđāļĄāđāļĢāļāļāļĢāļąāļāļĢāļđāļāđāļāļ hexadecimal, octal āđāļĨāļ° binary
JSON āļāļĩāđāđāļĄāđāļāļđāļāļāđāļāļ:
{
"invalid1": 01,
"invalid2": 10.,
"invalid3": 0xFF,
"invalid4": 1,000
}
āļ§āļīāļāļĩāđāļāđāđāļ:
{
"valid1": 1,
"valid2": 10.0,
"valid3": 255,
"valid4": 1000
}
6. āļāđāļēāļāļĩāđāđāļĄāđāļāļđāļāļāđāļāļ: undefined, NaN, Infinity
āļāđāļāļāļīāļāļāļĨāļēāļ: Unexpected token āļŠāļģāļŦāļĢāļąāļ undefined, NaN, Infinity
JavaScript āļĄāļĩāļāđāļēāļāļĩāđ āđāļĄāđāļĄāļĩāđāļāļāđāļāļāļģāļŦāļāļ JSON āļāđāļēāđāļŦāļĨāđāļēāļāļĩāđāļāļ°āļāļģāđāļŦāđāđāļāļīāļāļāđāļāļāļīāļāļāļĨāļēāļāđāļāļāļēāļĢ parse:
JSON āļāļĩāđāđāļĄāđāļāļđāļāļāđāļāļ:
{
"undefinedVal": undefined,
"notANumber": NaN,
"infinity": Infinity
}
āļ§āļīāļāļĩāđāļāđāđāļ: āđāļāļāļāļĩāđāļāđāļ§āļĒāļāđāļē JSON āļāļĩāđāļāļđāļāļāđāļāļāļŦāļĢāļ·āļāđāļāđāđāļāļāđāļāļ
{
"undefinedVal": null,
"notANumber": null,
"infinity": 1.7976931348623157e+308
}
7. āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļļāļĨāļ āļēāļāđāļāļīāļāļŦāļĢāļ·āļāļāļēāļ
āļāđāļāļāļīāļāļāļĨāļēāļ: Expected comma āļŦāļĢāļ·āļ Unexpected token
āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļļāļĨāļ āļēāļāđāļ JSON āļāđāļāļāļāļąāđāļāļāļļāļāļāļđāđ key/value āđāļĨāļ°āļāļāļāđāļāļĢāļ°āļāļāļ array āđāļāđ āļāđāļāļāđāļĄāđ āļāļĢāļēāļāļāļŦāļĨāļąāļāļĢāļēāļĒāļāļēāļĢāļŠāļļāļāļāđāļēāļĒ
āđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļļāļĨāļ āļēāļāļāļēāļ (āđāļĄāđāļāļđāļāļāđāļāļ):
{
"name": "Alice"
"age": 30
}
āļ§āļīāļāļĩāđāļāđāđāļ: āđāļāļīāđāļĄāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļļāļĨāļ āļēāļāļāļĩāđāļāļēāļ
{
"name": "Alice",
"age": 30
}
8. āļāļąāļāļŦāļēāđāļāļĢāļāļŠāļĢāđāļēāļāļāļĩāđāļāđāļāļāļĨāļķāļāđāļāļīāļāđāļ
āļāđāļāļāļīāļāļāļĨāļēāļ: Maximum call stack size exceeded āļŦāļĢāļ·āļ parser timeout
āđāļĄāđāđāļĄāđāđāļāđāļāđāļāļāļīāļāļāļĨāļēāļāļāļēāļāđāļ§āļĒāļēāļāļĢāļāđ āđāļāđ JSON āļāļĩāđāļāđāļāļāļĨāļķāļ (10+ āļĢāļ°āļāļąāļ) āļāļēāļāļāļģāđāļŦāđāđāļāļīāļāļāļąāļāļŦāļēāļāđāļēāļāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāđāļĨāļ°āļāļģāđāļŦāđāļāļēāļĢāļāļĩāļāļąāļāļĒāļēāļāļĄāļēāļ
āđāļāļĢāļāļŠāļĢāđāļēāļāļāļĩāđāļĄāļĩāļāļąāļāļŦāļē:
{
"level1": {
"level2": {
"level3": {
"level4": {
"level5": {
"level6": {
"value": "too deep"
}
}
}
}
}
}
}
āđāļāļ§āļāļēāļāļāļĩāđāļāļĩāļāļ§āđāļē: āļāļģāđāļŦāđāđāļāļĢāļāļŠāļĢāđāļēāļāđāļāļāļĨāļāļŦāļĢāļ·āļāđāļāđāļāļēāļĢāļāđāļēāļāļāļīāļ
{
"users": {
"alice": { "role": "admin" }
},
"permissions": {
"admin": ["read", "write", "delete"]
}
}
9. āļ§āļāđāļĨāđāļāļāļĩāļāļāļēāļŦāļĢāļ·āļāļ§āļāđāļĨāđāļāđāļŦāļĨāļĩāđāļĒāļĄāđāļāļīāļāļŦāļĢāļ·āļāļāļīāļāļāļēāļāļŦāļēāļĒāđāļ
āļāđāļāļāļīāļāļāļĨāļēāļ: Expected ',' or '}' āļŦāļĢāļ·āļ Unexpected end of JSON input
āļ§āļāđāļĨāđāļāļāļĩāđāđāļĄāđāļāļĢāļāļāļąāļāđāļāđāļāļŠāļēāđāļŦāļāļļāļāļąāđāļ§āđāļāļāļāļāļāđāļāļāļīāļāļāļĨāļēāļ JSON āđāļāļĒāđāļāļāļēāļ°āđāļāđāļāļĨāđ JSON āļāļāļēāļāđāļŦāļāđāļŦāļĢāļ·āļāļāļĩāđāđāļāļĩāļĒāļāļāđāļ§āļĒāļĄāļ·āļ
JSON āļāļĩāđāđāļĄāđāļāļđāļāļāđāļāļ:
{
"name": "Alice",
"items": [1, 2, 3
}
āļ§āļīāļāļĩāđāļāđāđāļ: āļāļĢāļ§āļāļŠāļāļāđāļŦāđāđāļāđāđāļāļ§āđāļēāļāļļāļ { āļĄāļĩ } āļāļĩāđāļāļĢāļāļāļąāļ āđāļĨāļ°āļāļļāļ [ āļĄāļĩ ] āļāļĩāđāļāļĢāļāļāļąāļ
{
"name": "Alice",
"items": [1, 2, 3]
}
āđāļāļĨāđāļāļĨāļąāļāļĄāļ·āļāđāļāļĢ: āļĒāđāļāļŦāļāđāļē JSON āļāļāļāļāļļāļāļāļĒāđāļēāļāđāļŦāļĄāļēāļ°āļŠāļĄāđāļāļ·āđāļāļāļąāļāļāļđāđāļ§āļāđāļĨāđāļāđāļāļīāļāđāļĨāļ°āļāļīāļāļāđāļ§āļĒāļŠāļēāļĒāļāļē JSON formatter āļŠāļēāļĄāļēāļĢāļāļāļģāļŠāļīāđāļāļāļĩāđāđāļāļĒāļāļąāļāđāļāļĄāļąāļāļī
āļ§āļīāļāļĩāļāļēāļĢāļāļĩāļāļąāļāļāđāļāļāļīāļāļāļĨāļēāļ JSON āļāļĒāđāļēāļāļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļ
- āđāļāđ JSON validator -- āļ§āļēāļ JSON āļāļāļāļāļļāļāļĨāļāđāļ āđāļāļĢāļ·āđāļāļāļĄāļ·āļāļāļĢāļ§āļāļŠāļāļ JSON āļāļĢāļĩ āđāļāļ·āđāļāļĢāļąāļāļāļĢāļĢāļāļąāļāđāļĨāļ°āļāļāļĨāļąāļĄāļāđāļāļĩāđāđāļāđāļāļāļāļāļāļāļāđāļāļāļīāļāļāļĨāļēāļāđāļĢāļ
- āļāļĢāļ§āļāļŠāļāļāļāļĩāļĨāļ°āļŠāđāļ§āļ -- āļŠāļģāļŦāļĢāļąāļāđāļāļĨāđāļāļāļēāļāđāļŦāļāđ āļāļĢāļ§āļāļŠāļāļāļāļĩāļĨāļ°āļŠāđāļ§āļāđāļāļ·āđāļāđāļĒāļāļāđāļāļāļīāļāļāļĨāļēāļ
- āļĢāļ°āļ§āļąāļāļŠāļīāđāļāđāļāļĨāļāļāļĨāļāļĄāļāļēāļāļāļēāļĢāļāļąāļāļĨāļāļ-āļ§āļēāļ -- āļāļąāļāļāļĢāļ°āļāļĩāđāļĄāļāļāđāļĄāđāđāļŦāđāļ smart quotes āđāļĨāļ° non-breaking spaces āļĄāļąāļāđāļĨāđāļāļĨāļāļāđāļāđāļēāļĄāļēāļāļēāļāđāļāļĢāđāļāļĢāļĄāļāļĢāļ°āļĄāļ§āļĨāļāļĨāļāļģāļŦāļĢāļ·āļāļŦāļāđāļēāđāļ§āđāļ
- āļāļĢāļ§āļāļŠāļāļ character encoding -- āļāļĢāļ§āļāļŠāļāļāđāļŦāđāđāļāđāđāļāļ§āđāļēāđāļāļĨāđāļāļāļāļāļļāļāļāļđāļāļāļąāļāļāļķāļāđāļāđāļ UTF-8 encoding āļāļ·āđāļāļāļēāļāļŠāļĢāđāļēāļāļāđāļāļāļīāļāļāļĨāļēāļāļāļĩāđāļĄāļāļāđāļĄāđāđāļŦāđāļ
- āđāļāđ linter -- āđāļāļĢāļ·āđāļāļāļĄāļ·āļāđāļāđāļ ESLint āļāļĢāđāļāļĄāļāļĨāļąāđāļāļāļīāļ
jsonāļāļąāļāļāđāļāļāļīāļāļāļĨāļēāļ JSON āļĢāļ°āļŦāļ§āđāļēāļāļāļēāļĢāļāļąāļāļāļē
āļāļģāđāļ§āđ: JSON parser āļĄāļąāļāļĢāļēāļĒāļāļēāļāđāļāļāļēāļ°āļāđāļāļāļīāļāļāļĨāļēāļāļāļēāļāđāļ§āļĒāļēāļāļĢāļāđ āđāļĢāļ āđāļāđāļēāļāļąāđāļ āđāļāđāđāļāļāļąāļāļāļąāđāļ āļāļĢāļ§āļāļŠāļāļāđāļŦāļĄāđ āđāļĨāļ°āļāļģāļāđāļģāļāļāļāļ§āđāļēāđāļāļāļŠāļēāļĢāļāļ°āļāđāļēāļ āđāļāļĢāļ·āđāļāļāļĄāļ·āļ JSON Formatter & Validator āļāļāļāđāļĢāļēāđāļŦāđāļāđāļāļāļ§āļēāļĄāđāļŠāļāļāļāđāļāļāļīāļāļāļĨāļēāļāļāļąāļāļāļĩāđāļĨāļ°āļĨāļ°āđāļāļĩāļĒāļāđāļāļ·āđāļāđāļĢāđāļāļāļĢāļ°āļāļ§āļāļāļēāļĢāļāļĩāđ