JavaScriptSerializer::Deserialize Method (String^, Type^)

.NET Framework (current version)

The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

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)

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