LINQPad query to parse JSON DateTime string

Yan Cui

I help clients go faster for less using serverless technologies.

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:

JSON.org

An introduction to JSON in JavaScript and .Net

Stand-alone JSON serialization

JSON Formatter & Validator

JSON.Net Codeplex project

LINQPad


Whenever you’re ready, here are 3 ways I can help you:

  1. Production-Ready Serverless: Join 20+ AWS Heroes & Community Builders and 1000+ other students in levelling up your serverless game.
  2. Consulting: If you want to improve feature velocity, reduce costs, and make your systems more scalable, secure, and resilient, then let’s work together and make it happen.
  3. Join my FREE Community on Skool, where you can ask for help, share your success stories and hang out with me and other like-minded people without all the negativity from social media.

 

Leave a Comment

Your email address will not be published. Required fields are marked *