What’s new in JsonViewer?

This post is the announcement of the justaprogrammer fork of JsonViewer, an excellent codeplex project whose maintainer has not logged into codeplex in a while and has not seem my patches.

JsonViewer is a suite of three .NET tools that visual render JSON via .NET WinForms. These tools are:

  • JsonView: the standalone EXE form.
  • JsonVisualizer: A Visual Studio Debugging visualizer
  • JsonInspector: An inspector for the popular and excellent debugging proxy Fiddler.

This fork started as a result of me scratching some very small and specific itches I will describe below.

Obtaining source and binaries

I have created a github project for this fork in the justaprogrammer github organization. There is one download there currently. More will be added periodically and news will appear on this blog.

Human readable DateTime display

I originally used the Fiddler inspector to debug WCF services I wrote with JSON endpoints. It worked very well for this. However, some of my response contracts had DataTime properties. These were rendered as /Date(SECONDS_SINCE_1970)/. This format was pretty useless in that I had to copy the value to a javascript console like firebug to get a human readable date. After I got no responses on my bug report, I did a bit of twiddling until the output was human readablke.

Fiddler - Rendering of "TimeStamp":"/Date(1291027947127-0500)/"

Request Inspector

Since I was debugging WCF services, both my requests and my responses were JSON formatted strings. However, JsonViewer only implemented a response inspector. Once again, I filed a ticket, saw no response,  did a little bit of refactoring and I had a request and response viewer.

Fiddler - Request and Response Inspector

The future

I have an experimental branch where I got JsonViewer to build against the latest version of Newtonsoft.Json.dll. I got it working, but I lost the DateTime formatting in the process. Also, code needs some major refactoring use the new version of the library optimally. Finally, I hope to attract feature requests and code from existing fans of JsonViewer until the point where the original maintainer becomes involved in the original project.