SimpleTypeResolver SimpleTypeResolver SimpleTypeResolver SimpleTypeResolver Class

Definition

Provides a type resolver for managed types.

public ref class SimpleTypeResolver : System::Web::Script::Serialization::JavaScriptTypeResolver
public class SimpleTypeResolver : System.Web.Script.Serialization.JavaScriptTypeResolver
type SimpleTypeResolver = class
    inherit JavaScriptTypeResolver
Public Class SimpleTypeResolver
Inherits JavaScriptTypeResolver
Inheritance

Examples

The following example demonstrates how to use the SimpleTypeResolver class and shows the resulting serialized strings by using different type resolvers.

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Script.Serialization" %>
<%@ Import Namespace="System.Web.Script.Serialization.TypeResolver.CS" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    
    protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e)
    {

        ColorType customObject = new ColorType();        
        JavaScriptSerializer serializer;
        
        switch(((RadioButtonList)sender).SelectedIndex)
        {
            case 0:
                serializer = new JavaScriptSerializer();
                Label1.Text = serializer.Serialize(customObject);
                break;
            case 1:
                serializer = new JavaScriptSerializer(new SimpleTypeResolver());
                Label1.Text = serializer.Serialize(customObject);
                break;
            case 2:
                serializer = new JavaScriptSerializer(new CustomTypeResolver());
                Label1.Text = serializer.Serialize(customObject);
                break;
        }
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Type Resolvers</title>
    <style type="text/css">
        body {  font: 10pt Trebuchet MS;
                font-color: #000000;
             }

        .text { font: 8pt Trebuchet MS }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        Select one of the following serialization types:
        <asp:RadioButtonList ID="RadioButtonList1" runat="server" OnSelectedIndexChanged="RadioButtonList1_SelectedIndexChanged" AutoPostBack="True">
            <asp:ListItem Value="0">Serialization with no type resolver</asp:ListItem>
            <asp:ListItem Value="1">Serialization with the SimpleTypeResolver class</asp:ListItem>
            <asp:ListItem Value="2">Serialization with a custom type resolver</asp:ListItem>
        </asp:RadioButtonList>
        <br />
        Note the different resulting serialized strings. The ones that use type resolvers have an extra __type tag.
        <hr />
        Results:
        <table border="0" cellpadding="0" cellspacing="0" width="100%">
            <tr>
                <td>
                    <asp:Label ID="Label1" runat="server" ></asp:Label><br />
                </td>
            </tr>
        </table>        
        <br />
        &nbsp;</div>
    </form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Script.Serialization" %>
<%@ Import Namespace="System.Web.Script.Serialization.TypeResolver.VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    
    Protected Sub RadioButtonList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) 
    
        Dim customObject As New ColorType()
        Dim serializer As JavaScriptSerializer
        
        Select Case CType(sender, RadioButtonList).SelectedIndex
            Case 0
                serializer = New JavaScriptSerializer()
                Label1.Text = serializer.Serialize(customObject)
            Case 1
                serializer = New JavaScriptSerializer(New SimpleTypeResolver())
                Label1.Text = serializer.Serialize(customObject)
            Case 2
                serializer = New JavaScriptSerializer(New CustomTypeResolver())
                Label1.Text = serializer.Serialize(customObject)
        End Select

    End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Type Resolvers</title>
    <style type="text/css">
        body {  font: 10pt Trebuchet MS;
                font-color: #000000;
             }

        .text { font: 8pt Trebuchet MS }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        Select one of the following serialization types:
        <asp:RadioButtonList ID="RadioButtonList1" runat="server" OnSelectedIndexChanged="RadioButtonList1_SelectedIndexChanged" AutoPostBack="True">
            <asp:ListItem Value="0">Serialization with no type resolver</asp:ListItem>
            <asp:ListItem Value="1">Serialization with the SimpleTypeResolver class</asp:ListItem>
            <asp:ListItem Value="2">Serialization with a custom type resolver</asp:ListItem>
        </asp:RadioButtonList>
        <br />
        Note the different resulting serialized strings. The ones that use type resolvers have an extra __type tag.
        <hr />
        Results:
        <table border="0" cellpadding="0" cellspacing="0" width="100%">
            <tr>
                <td>
                    <asp:Label ID="Label1" runat="server" ></asp:Label><br />
                </td>
            </tr>
        </table>        
        <br />
        &nbsp;</div>
    </form>
</body>
</html>

Remarks

This type resolver can be used with the JavaScriptSerializer class to include in the serialized JavaScript Object Notation (JSON) string the assembly-qualified name of any managed type that requires custom type metadata.

The SimpleTypeResolver class enables you to serialize managed types as JSON while retaining the managed type definition for custom types.

To create an instance of the JavaScriptSerializer class that uses a type resolver, you must use the JavaScriptSerializer(JavaScriptTypeResolver) constructor.

Constructors

SimpleTypeResolver() SimpleTypeResolver() SimpleTypeResolver() SimpleTypeResolver()

Initializes a new instance of the SimpleTypeResolver class.

Methods

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ResolveType(String) ResolveType(String) ResolveType(String) ResolveType(String)

Returns the Type of the specified name.

ResolveTypeId(Type) ResolveTypeId(Type) ResolveTypeId(Type) ResolveTypeId(Type)

Returns the assembly-qualified name of the specified Type.

ToString() ToString() ToString() ToString()

Returns a string that represents the current object.

(Inherited from Object)

Applies to

See also