<t>If you are happy to have a dependency upon the System.Web.Helpers assembly, then you can use the Json class:<br/>
<br/>
dynamic data = Json.Decode(json);<br/>
<br/>
```<br/>
<br/>
It is included with the MVC framework as an [additional download](https://stackoverflow.com/q/8037895/24874) to the .NET 4 framework. Be sure to give Vlad an upvote if that's helpful! However if you cannot assume the client environment includes this DLL, then read on.<br/>
<br/>
An alternative deserialisation approach is suggested [here](http://www.drowningintechnicaldebt.com/ShawnWeisfeld/archive/2010/08/22/using-c-4.0-and-dynamic-to-parse-json.aspx). I modified the code slightly to fix a bug and suit my coding style. All you need is this code and a reference to `System.Web.Extensions` from your project:<br/>
<br/>
```<br/>
using System;<br/>
using System.Collections;<br/>
using System.Collections.Generic;<br/>
using System.Collections.ObjectModel;<br/>
using System.Dynamic;<br/>
using System.Linq;<br/>
using System.Text;<br/>
using System.Web.Script.Serialization;<br/>
<br/>
public sealed class DynamicJsonConverter : JavaScriptConverter<br/>
{<br/>
public override object Deserialize(IDictionary dictionary, Type type, JavaScriptSerializer serializer)<br/>
{<br/>
if (dictionary == null)<br/>
throw new ArgumentNullException("dictionary");<br/>
<br/>
return type == typeof(object) ? new DynamicJsonObject(dictionary) : null;<br/>
}<br/>
<br/>
public override IDictionary Serialize(object obj, JavaScriptSerializer serializer)<br/>
{<br/>
throw new NotImplementedException();<br/>
}<br/>
<br/>
public override IEnumerable SupportedTypes<br/>
{<br/>
get { return new ReadOnlyCollection(new List(new[] { typeof(object) })); }<br/>
}<br/>
<br/>
#region Nested type: DynamicJsonObject<br/>
<br/>
private sealed class DynamicJsonObject : DynamicObject<br/>
{<br/>
private readonly IDictionary _dictionary;<br/>
<br/>
public DynamicJsonObject(IDictionary dict<br/>
<br/>
*(Réponse tronquée)*</t>