This documentation is archived and is not being maintained.

JavaScriptSerializer.Deserialize<T> Method (String)

Converts the specified JSON string to an object of type T.

Namespace:  System.Web.Script.Serialization
Assembly:  System.Web.Extensions (in System.Web.Extensions.dll)

public T Deserialize<T>(
	string input

Type Parameters


The type of the resulting object.


Type: System.String
The JSON string to be deserialized.

Return Value

Type: T
The deserialized object.


The input length exceeds the value of MaxJsonLength.


The recursion limit defined by RecursionLimit was exceeded.


input contains an unexpected character sequence.


input is a dictionary type and a non-string key value was encountered.


input includes member definitions that are not available on type T.


input is null.


input contains a "__type" property that indicates a custom type, but the type resolver associated with the serializer cannot find a corresponding managed type.


input contains a "__type" property that indicates a custom type, but the result of deserializing the corresponding JSON string cannot be assigned to the expected target type.


input contains a "__type" property that indicates either Object or a non-instantiable type (for example, an abstract types or an interface).


An attempt was made to convert a JSON array to an array-like managed type that is not supported for use as a JSON deserialization target.


It is not possible to convert input to T.

The Deserialize method is equivalent to first using the DeserializeObject method to obtain an object graph and then trying to cast the result to type T.

During deserialization, the serializer’s current type resolver is referenced, which determines the managed type to use when converting elements that are nested inside arrays and dictionary types. As a result, the deserialization process iterates through all nested elements of input. For more information about type resolvers, see the JavaScriptTypeResolver class.

.NET Framework

Supported in: 4, 3.5

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.