My favorites | Sign in
Project Home Wiki Issues Source
Project Information
Members
Links

JSONovich

Pretty-prints JSON content in the Firefox family of browsers for easy, unobtrusive viewing.

JSONovich 1.7 in actionJSONovich 1.9's new options screen for Firefox 7+, Mobile 7+ and SeaMonkey 2.4+JSONovich pre-1.5JSONovich pre-0.8

JSONovich is a Firefox (and SeaMonkey) extension that pretty-prints JSON content of various types directly in a browser tab. It uses the browser's native JSON parser and a custom-built formatter to produce its output.

Normally, Firefox would prompt to download JSON sent with the correct application/json mime-type. JSONovich makes working with JSON and debugging output from web services easier by formatting JSON nicely inside the browser.

Features

  • Syntax highlighting of JSON elements. [since 0.1]
  • Indentation according to JSON object/array nesting level. [since 0.1]
  • Line numbering based on JSON nodes and brackets, long strings always count as a single line. [since 0.8]
  • Collapsible objects and arrays (whole line is clickable, not just a tiny +/- symbol). [since 1.5]
  • Subtle zebra-stripes for easier reading. [since 1.7]
  • Preserves formatting accurately when copying to clipboard, excluding line numbers. [since 0.9]
  • Currently supports the following MIME types by default:
    The above list is customisable by user preferences. [since 1.8.2]
  • Supports loading JSON from files on disk with the following extensions by default:
    The above list is customisable by user preferences. [since 1.8.2]
  • Adds application/json to the default HTTP Accept header to make working with CouchDB easier. [since 1.1, optional since 1.8.2]
  • Can override the default HTTP Accept header for individual hosts to either remove application/json or add it with a specific quality factor. [since 1.9]
  • Options can be changed via the Add-ons Manager in Firefox 7+, Mobile 7+ and SeaMonkey 2.4+. [since 1.9]
  • Options can be changed via about:config (extensions.jsonovich branch) in all browsers. [since 1.8]
  • Restartless (even in older browsers, partially). [since 1.8]
  • Full support for documents served with unusual character sets as well as the official UTF8. [fixed in 1.9]

Testing

FAQ

  • What's with the weird name?
    JSONovich is named after Pavement member Bob Nastanovich primarily because he seems like a swell guy.
  • And the logo?
    That's called an Ambihelical Hexnut, an optical illusion similar to the impossible torus that is the JSON logo.

Bugs

To report a problem, please create an issue.

Working on the code

  • Checkout the code.
  • Create a clean browser profile for development.
  • Place a proxy file in your profile/extensions directory called jsonovich@lackoftalent.org (no .txt extension). It should contain the path to the checked out src directory including a trailing slash.
    • There is also a jake build system for those with node.
  • Hack at code.
  • To see changes, either disable and re-enable the addon to save time, or restart the browser to be sure unload bugs don't affect the next test.
  • Attach any patches to issues here and we can integrate them in the next release.

License

This extension is MPL 1.1/GPL 2.0/LGPL 2.1 tri-licensed.

Powered by Google Project Hosting