JavaScriptSerializer.Deserialize Method (String, Type)

.NET Framework (current version)

Converts a JSON-formatted string to an object of the specified type.

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

public object Deserialize(
	string input,
	Type targetType


Type: System.String

The JSON string to deserialize.

Type: System.Type

The type of the resulting object.

Return Value

Type: System.Object

The deserialized object.

Exception Condition

input is null.


The length of input 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 the target type.


input contains a "__type" property that indicates a custom type, but the type resolver that is currently 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 type 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 the target type.

This deserialization method does not try to cast the root of the object graph to a specific type, the way that the Deserialize<T> method does.

.NET Framework
Available since 4.0
Return to top