JSONLint is a validator and reformatter for JSON, a lightweight data-interchange format.
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!
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.
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.
Expecting 'STRING'
{ "a": "b", }
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['
[ "a", "b", ]
{ "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.
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!
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).