JSON (JavaScript Object Notation) is a data transfer format widely adopted on the web because it’s lightweight compared to XML. I touched on the topic of JSON in an earlier post when I posted some extension methods for compressing/decompressing string.
If you are unfamiliar with the JSON format or how it’s supported in .Net then you should take a look at the MSDN articles in the references section to get you started.
With regards to DateTime values, they appear as JSON strings in the form of “\/Date(1276675934513+0100)\/” which is not easy to read when you’re debugging. In order to convert this JSON string back to a humanly readable form you can use this LINQPad to parse it, just replace the JSON string at the top:
var json = "\"\\/Date(1276675934513+0100)\\/\""; json.Dump(); var serializer = new DataContractJsonSerializer(typeof(DateTime)); var memString = new MemoryStream(Encoding.ASCII.GetBytes(json)); var d = (DateTime) serializer.ReadObject(memString); d.Dump();
If you’re not using LINQPad already then you should! Written by Joe Albahari (co-writer of the C# in a Nutshell books) it can be a huge time saver because you can use it as a code snippet editor in addition to being a Database query tool.
Reference:
An introduction to JSON in JavaScript and .Net
Stand-alone JSON serialization