As everyone knows JSON is a very light weight form of transport when it comes to the web, you can respond and consume JSON using WCF REST services, I have blogged about this in one of my earlier posts in 2008, but last month I got to work on this...
WCF makes things very easy, if the client sends a JSON formatted string, WCF infrastructure will de-serialize this into a custom type that you have specified in your operation contract.
For an example...
[WebInvoke(Method="POST"....)]
public void Save(Student student){}
so if you send a JSON string like this on your POST body
{Name : "Nairooz Nilafdeen", Age : 26}
...the WCF infrastructure will de-serialize the JSON string into the Student object (as long as the JSON key-value matches the properties in the Student type)..
Now, the problem with this approach is when you send a JSON string that contains an additional property that is not available in the Student class, now WCF will not be able to de-serial...