JSON Lint is an idea sparked at Arc90 by
Kindling Idea Management
An Idea Management & Collaboration Tool

Results Loading



What is JSONLint?

JSONLint is a validator and reformatter for JSON, a lightweight data-interchange format.

Why 'Lint'?

Essentially, I'm just riding on JSLint's coattails. The name 'lint' was originally used to find problems in C source files. It's not really valid here because JSON is just a protocol. Shameless? You bet!

Why does it reformat my JSON?

Because your code is ugly! Trust me on this one. What's that you say? It's not? Ok, well then here's JSON Lint without the reformatter.

Any secret features?

Sure, a few. You can input a URL and it'll scrape it for JSON and parse that.
An example URL to test: http://www.reddit.com/r/programming/comments/9szpc/jsonlint_a_handy_json_validator_and_reformatter.json

You can also provide JSON to lint in the URL if you link to JSON Lint with the "json" parameter. Here's an example URL to test.

Additionally, JSON Lint can also be used as a json compressor if you add ?reformat=compress to the URL.

What are some common errors?
Expecting 'STRING'
You probably have an extra comma at the end of your collection. Something like: { "a": "b", }
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['
You probably have an extra comma at the end of your list. Something like: [ "a", "b", ]
You also may have not enclosed your collection keys in quotes. Proper format for a collection is: { "key": "value" }

Be sure to follow JSON's syntax properly. For example, always use double quotes, always quotify your keys, and remove all callback functions.

A friend and I pasted the same JSON in and got different results. Wat do?

If you and your friend are on different systems (Win/Unix), this is possible due to the way windows handles newlines. Essentially, if you have just newline characters (\n) in your JSON and paste it into JSONLint from a windows machine, it can validate it as valid erroneously since Windows may need a carriage return (\r) as well to detect newlines properly.

The solution: Either use direct URL input, or make sure your content's newlines match the architecture your system expects!

Who made this?

I'm Chris Dary, just one of the kids at the Arc90 Lab. Much is owed to the community (this uses Zach Conner's javascript Pure JS JSON parser, for example).

I've got feedback!
Great! Feel free to email me at chrisd@arc90.com