Parsing NewtonSoft JToken Inside WebAPI Call

One of the simplest ways to POST data from a JavaScript app (such as Angular or JQuery) to a Microsoft ASP.NET WebAPI endpoint is simply to post JSON data.  There is a lot of magic that happens to try and match up the POST data you are calling with to the WebAPI call and it often feels like there is no reason why some calls work and some don’t.

My experience is that it’s easier to just process generic JSON on the WebAPI side and not worry about the shape of the data until after it arrives on your WebAPI endpoint.  Darrell Miller has a very helpful article that demystifies that data and give a very clear way to get that JSON to your WebAPI endpoint as a NewtonSoft JToken.  Darrel leaves out what to do with the JToken so I thought I’d fill in some of those details.

Here is the WebAPI code from Darrell’s article that you can use to get JSON into your WebAPI endpoint:

Let me give an example of processing the jsonbody which is JToken.  It’s actually pretty simple if you use c# indexers.  My example is pretty ugly with goofy variable names but it is what I used just to understand how to parse it. Obviously you’d never use code like this in production but it’s pretty clear what really needs to be done from this.

Here is some basic JSON to parse:

And here is the code to parse the JToken

HTH’s!

About Peter Kellner

Peter is a software professional specializing in mobile and web technologies. He has also been a Microsoft MVP since 2007. In addition, he's a multi-course video author at Pluralsight. To read more about Peter Kellner and his experience click here. For information about how Peter Kellner might be able to help you with your project click here.

Follow me:


Follow

Get every new post delivered to your Inbox

Join other followers: