JavaScriptSerializer JavaScriptSerializer JavaScriptSerializer JavaScriptSerializer Class

Definizione

Json.NET deve essere usato per la serializzazione e la deserializzazione.Json.NET should be used for serialization and deserialization. Fornisce funzionalità di serializzazione e deserializzazione per le applicazioni con supporto AJAX.Provides serialization and deserialization functionality for AJAX-enabled applications.

public ref class JavaScriptSerializer
public class JavaScriptSerializer
type JavaScriptSerializer = class
Public Class JavaScriptSerializer
Ereditarietà
JavaScriptSerializerJavaScriptSerializerJavaScriptSerializerJavaScriptSerializer

Esempi

Nel primo esempio viene illustrata una semplice procedura per serializzare e deserializzare gli oggetti dati.The first example provides a simple illustration of how to serialize and deserialize data objects. Richiede una classe denominata Person, mostrata di seguito.It requires a class named Person which is shown below.

using System;
using System.Collections.Generic;
using System.Web.UI;
using System.Web.Script.Serialization;

namespace ExampleApplication
{
    public partial class _Default : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            var RegisteredUsers = new List<Person>();
            RegisteredUsers.Add(new Person() { PersonID = 1, Name = "Bryon Hetrick", Registered = true });
            RegisteredUsers.Add(new Person() { PersonID = 2, Name = "Nicole Wilcox", Registered = true });
            RegisteredUsers.Add(new Person() { PersonID = 3, Name = "Adrian Martinson", Registered = false });
            RegisteredUsers.Add(new Person() { PersonID = 4, Name = "Nora Osborn", Registered = false });

            var serializer = new JavaScriptSerializer();
            var serializedResult = serializer.Serialize(RegisteredUsers);
            // Produces string value of:
            // [
            //     {"PersonID":1,"Name":"Bryon Hetrick","Registered":true},
            //     {"PersonID":2,"Name":"Nicole Wilcox","Registered":true},
            //     {"PersonID":3,"Name":"Adrian Martinson","Registered":false},
            //     {"PersonID":4,"Name":"Nora Osborn","Registered":false}
            // ]

            var deserializedResult = serializer.Deserialize<List<Person>>(serializedResult);
            // Produces List with 4 Person objects
        }
    }
}
Imports System.Web.Script.Serialization

Public Class _Default
    Inherits Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
        Dim RegisteredUsers As New List(Of Person)()
        RegisteredUsers.Add(New Person With {.PersonID = 1, .Name = "Bryon Hetrick", .Registered = True})
        RegisteredUsers.Add(New Person With {.PersonID = 2, .Name = "Nicole Wilcox", .Registered = True})
        RegisteredUsers.Add(New Person With {.PersonID = 3, .Name = "Adrian Martinson", .Registered = False})
        RegisteredUsers.Add(New Person With {.PersonID = 4, .Name = "Nora Osborn", .Registered = False})

        Dim serializer As New JavaScriptSerializer()
        Dim serializedResult = serializer.Serialize(RegisteredUsers)
        ' Produces string value of:
        ' [
        '     {"PersonID":1,"Name":"Bryon Hetrick","Registered":true},
        '     {"PersonID":2,"Name":"Nicole Wilcox","Registered":true},
        '     {"PersonID":3,"Name":"Adrian Martinson","Registered":false},
        '     {"PersonID":4,"Name":"Nora Osborn","Registered":false}
        ' ]

        Dim deserializedResult = serializer.Deserialize(Of List(Of Person))(serializedResult)
        ' Produces List with 4 Person objects
    End Sub
End Class
namespace ExampleApplication
{
    public class Person
    {
        public int PersonID { get; set; }
        public string Name { get; set; }
        public bool Registered { get; set; }
    }
}
Public Class Person
    Public Property PersonID As Integer
    Public Property Name As String
    Public Property Registered As Boolean
End Class

L'esempio seguente mostra un progetto più complesso e completo che usa la JavaScriptSerializer classe per salvare e ripristinare lo stato di un oggetto usando la serializzazione JSON.The next example shows a more complicated and complete project that uses the JavaScriptSerializer class to save and restore the state of an object by using JSON serialization. Questo codice usa un convertitore personalizzato fornito per la JavaScriptConverter classe.This code uses a custom converter that is provided for the JavaScriptConverter class.

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

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

<script runat="server">

    JavaScriptSerializer serializer;
    protected void Page_Load(object sender, EventArgs e)
    {
        //<Snippet1>
        serializer = new JavaScriptSerializer();
        
        // Register the custom converter.
        serializer.RegisterConverters(new JavaScriptConverter[] { 
            new System.Web.Script.Serialization.CS.ListItemCollectionConverter() });
        //</Snippet1>
        this.SetFocus(TextBox1);
    }
    
    protected void saveButton_Click(object sender, EventArgs e)
    {
        // Save the current state of the ListBox control.
        SavedState.Text = serializer.Serialize(ListBox1.Items);
        recoverButton.Enabled = true;
        Message.Text = "State saved";
    }

    protected void recoverButton_Click(object sender, EventArgs e)
    {        
        //Recover the saved items of the ListBox control.
        ListItemCollection recoveredList = serializer.Deserialize<ListItemCollection>(SavedState.Text);
        ListItem[] newListItemArray = new ListItem[recoveredList.Count];
        recoveredList.CopyTo(newListItemArray, 0);
        ListBox1.Items.Clear();
        ListBox1.Items.AddRange(newListItemArray);
        Message.Text = "Last saved state recovered.";
    }

    protected void clearButton_Click(object sender, EventArgs e)
    {
        // Remove all items from the ListBox control.
        ListBox1.Items.Clear();
        Message.Text = "All items removed";
    }

    protected void ContactsGrid_SelectedIndexChanged(object sender, EventArgs e)
    {
        // Get the currently selected row using the SelectedRow property.
        GridViewRow row = ContactsGrid.SelectedRow;

        // Get the ID of item selected.
        string itemId = ContactsGrid.DataKeys[row.RowIndex].Value.ToString();                
        ListItem newItem = new ListItem(row.Cells[4].Text, itemId);
        
        // Check if the item already exists in the ListBox control.
        if (!ListBox1.Items.Contains(newItem))
        {
            // Add the item to the ListBox control.
            ListBox1.Items.Add(newItem);
            Message.Text = "Item added";
        }
        else
            Message.Text = "Item already exists";
    }

    protected void ContactsGrid_PageIndexChanged(object sender, EventArgs e)
    {
        //Reset the selected index.
        ContactsGrid.SelectedIndex = -1;
    }

    protected void searchButton_Click(object sender, EventArgs e)
    {
        //Reset indexes.
        ContactsGrid.SelectedIndex = -1;
        ContactsGrid.PageIndex = 0;
        
        //Set focus on the TextBox control.
        ScriptManager1.SetFocus(TextBox1);
    }

    protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
    {
        // Show/hide the saved state string.        
        SavedState.Visible = CheckBox1.Checked;
        StateLabel.Visible = CheckBox1.Checked;
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Save/Recover state</title>
    <style type="text/css">
        body {  font: 11pt Trebuchet MS;
                font-color: #000000;
                padding-top: 72px;
                text-align: center }

        .text { font: 8pt Trebuchet MS }
    </style>
</head>
<body>    
    <form id="form1" runat="server" defaultbutton="searchButton" defaultfocus="TextBox1">
        <h3>
            <span style="text-decoration: underline">
                                    Contacts Selection</span><br />
        </h3>
        <asp:ScriptManager runat="server" ID="ScriptManager1" />
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                Type contact's first name:
                <asp:TextBox ID="TextBox1" runat="server" />
                <asp:Button ID="searchButton" runat="server" Text="Search" OnClick="searchButton_Click" />&nbsp;
                <br />
                <br />
                <table border="0" width="100%">
                    <tr>
                        <td style="width:50%" valign="top" align="center">
                            <b>Search results:</b><br />
                            <asp:GridView ID="ContactsGrid" runat="server" AutoGenerateColumns="False"
                                CellPadding="4" DataKeyNames="ContactID" DataSourceID="SqlDataSource1"
                                OnSelectedIndexChanged="ContactsGrid_SelectedIndexChanged" ForeColor="#333333" GridLines="None" AllowPaging="True" PageSize="7" OnPageIndexChanged="ContactsGrid_PageIndexChanged">
                                <Columns>
                                    <asp:CommandField ShowSelectButton="True" ButtonType="Button" />
                                    <asp:BoundField DataField="ContactID" HeaderText="ContactID" SortExpression="ContactID" Visible="False" />
                                    <asp:BoundField DataField="FirstName" HeaderText="FirstName" SortExpression="FirstName" />
                                    <asp:BoundField DataField="LastName" HeaderText="LastName" SortExpression="LastName" />
                                    <asp:BoundField DataField="EmailAddress" HeaderText="EmailAddress" SortExpression="EmailAddress" />
                                </Columns>
                                <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
                                <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                                <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
                                <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                                <EditRowStyle BackColor="#999999" />
                                <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
                                <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
                                <EmptyDataTemplate>No data found.</EmptyDataTemplate>
                            </asp:GridView>
                            <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:AdventureWorksConnectionString %>"
                                SelectCommand="SELECT ContactID, FirstName, LastName, EmailAddress FROM Person.Contact WHERE (UPPER(FirstName) = UPPER(@FIRSTNAME))" >
                                <SelectParameters>
                                    <asp:ControlParameter Name="FIRSTNAME" ControlId="TextBox1" Type="String" />
                                </SelectParameters>
                            </asp:SqlDataSource>
                        </td>
                        <td valign="top">
                            <b>Contacts list:</b><br />
                        <asp:ListBox ID="ListBox1" runat="server" Height="200px" Width="214px" /><br />
                        <asp:Button ID="saveButton" runat="server" Text="Save state" OnClick="saveButton_Click" ToolTip="Save the current state of the list" />
                        <asp:Button ID="recoverButton" runat="server" Text="Recover saved state" OnClick="recoverButton_Click" Enabled="false" ToolTip="Recover the last saved state" />
                        <asp:Button ID="clearButton" runat="server" Text="Clear" OnClick="clearButton_Click" ToolTip="Remove all items from the list" /><br />
                            <br />
                            <asp:CheckBox ID="CheckBox1" runat="server" Checked="True" OnCheckedChanged="CheckBox1_CheckedChanged"
                                Text="Show saved state" AutoPostBack="True" /></td>
                    </tr>
                    <tr>
                        <td colspan="2">
                            <br />
                            <br />
                            &nbsp;&nbsp;
                            <hr />
                            Message: <asp:Label ID="Message" runat="server" ForeColor="SteelBlue" />&nbsp;&nbsp;<br />
                            <asp:Label ID="StateLabel" runat="server" Text="State:"></asp:Label>
                            <asp:Label ID="SavedState" runat="server"/><br />                        
                        </td>
                    </tr>
                </table>
            </ContentTemplate>
        </asp:UpdatePanel>
        <asp:UpdateProgress ID="UpdateProgress1" runat="server">
            <ProgressTemplate>
                <asp:Image ID="Image1" runat="server" ImageUrl="..\images\spinner.gif" />&nbsp;Processing...
            </ProgressTemplate>
        </asp:UpdateProgress>
    </form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Script.Serialization" %>

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

<script runat="server">
    
    Dim serializer As JavaScriptSerializer

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
        '<Snippet1>
        serializer = New JavaScriptSerializer()
    
        ' Register the custom converter.
        serializer.RegisterConverters(New JavaScriptConverter() _
            {New System.Web.Script.Serialization.VB.ListItemCollectionConverter()})
        '</Snippet1>
    End Sub

    Protected Sub saveButton_Click(ByVal sender As Object, ByVal e As EventArgs)
        ' Save the current state of the ListBox control.
        SavedState.Text = serializer.Serialize(ListBox1.Items)
        recoverButton.Enabled = True
        Message.Text = "State saved"
    End Sub

    Protected Sub recoverButton_Click(ByVal sender As Object, ByVal e As EventArgs)
        ' Recover the saved items of the ListBox control.        
        Dim recoveredList As ListItemCollection = _
            serializer.Deserialize(Of ListItemCollection)(SavedState.Text)
        Dim newListItemArray(recoveredList.Count - 1) As ListItem
        recoveredList.CopyTo(newListItemArray, 0)
        ListBox1.Items.Clear()
        ListBox1.Items.AddRange(newListItemArray)
        Message.Text = "Last saved state recovered."
    End Sub

    Protected Sub clearButton_Click(ByVal sender As Object, ByVal e As EventArgs)
        ' Remove all items from the ListBox control.
        ListBox1.Items.Clear()
        Message.Text = "All items removed"
    End Sub

    Protected Sub ContactsGrid_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
        ' Get the currently selected row using the SelectedRow property.
        Dim row As GridViewRow = ContactsGrid.SelectedRow
    
        ' Get the ID of the item selected.
        Dim itemId As String = ContactsGrid.DataKeys(row.RowIndex).Value.ToString()
        Dim newItem As ListItem = New ListItem(row.Cells(4).Text, itemId)

        ' Check if the item already exists in the ListBox control.
        If Not ListBox1.Items.Contains(newItem) Then
            ' Add the item to the ListBox control.
            ListBox1.Items.Add(newItem)
            Message.Text = "Item added"
        Else
            Message.Text = "Item already exists"
        End If
        
    End Sub
 
    Private Function SearchItem(ByVal itemId As String) As Boolean
        Dim i As Integer
        For i = 0 To ListBox1.Items.Count - 1
            If ListBox1.Items(i).Value = itemId Then
                Return True
            End If
        Next i
        Return False

    End Function

    Protected Sub ContactsGrid_PageIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
        ContactsGrid.SelectedIndex = -1
    End Sub

    Protected Sub searchButton_Click(ByVal sender As Object, ByVal e As EventArgs)
        ContactsGrid.SelectedIndex = -1
        ContactsGrid.PageIndex = 0
        ScriptManager1.SetFocus(TextBox1)
    End Sub

    Protected Sub CheckBox1_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs)
        SavedState.Visible = CheckBox1.Checked
        StateLabel.Visible = CheckBox1.Checked
    End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Save/Recover state</title>
    <style type="text/css">
        body {  font: 11pt Trebuchet MS;
                font-color: #000000;
                padding-top: 72px;
                text-align: center }

        .text { font: 8pt Trebuchet MS }
    </style>
</head>
<body>    
    <form id="form1" runat="server" defaultbutton="searchButton" defaultfocus="TextBox1">
        <h3>
            <span style="text-decoration: underline">
                                    Contacts Selection</span><br />
        </h3>
        <asp:ScriptManager runat="server" ID="ScriptManager1" />
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                Type contact's first name:
                <asp:TextBox ID="TextBox1" runat="server" />
                <asp:Button ID="searchButton" runat="server" Text="Search" OnClick="searchButton_Click" />&nbsp;
                <br />
                <br />
                <table border="0" width="100%">
                    <tr>
                        <td style="width:50%" valign="top" align="center">
                            <b>Search results:</b><br />
                            <asp:GridView ID="ContactsGrid" runat="server" AutoGenerateColumns="False"
                                CellPadding="4" DataKeyNames="ContactID" DataSourceID="SqlDataSource1"
                                OnSelectedIndexChanged="ContactsGrid_SelectedIndexChanged" ForeColor="#333333" GridLines="None" AllowPaging="True" PageSize="7" OnPageIndexChanged="ContactsGrid_PageIndexChanged">
                                <Columns>
                                    <asp:CommandField ShowSelectButton="True" ButtonType="Button" />
                                    <asp:BoundField DataField="ContactID" HeaderText="ContactID" SortExpression="ContactID" Visible="False" />
                                    <asp:BoundField DataField="FirstName" HeaderText="FirstName" SortExpression="FirstName" />
                                    <asp:BoundField DataField="LastName" HeaderText="LastName" SortExpression="LastName" />
                                    <asp:BoundField DataField="EmailAddress" HeaderText="EmailAddress" SortExpression="EmailAddress" />
                                </Columns>
                                <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
                                <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                                <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
                                <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                                <EditRowStyle BackColor="#999999" />
                                <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
                                <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
                                <EmptyDataTemplate>No data found.</EmptyDataTemplate>
                            </asp:GridView>
                            <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:AdventureWorksConnectionString %>"
                                SelectCommand="SELECT ContactID, FirstName, LastName, EmailAddress FROM Person.Contact WHERE (UPPER(FirstName) = UPPER(@FIRSTNAME))" >
                                <SelectParameters>
                                    <asp:ControlParameter Name="FIRSTNAME" ControlId="TextBox1" Type="String" />
                                </SelectParameters>
                            </asp:SqlDataSource>
                        </td>
                        <td valign="top">
                            <b>Contacts list:</b><br />
                        <asp:ListBox ID="ListBox1" runat="server" Height="200px" Width="214px" /><br />
                        <asp:Button ID="saveButton" runat="server" Text="Save state" OnClick="saveButton_Click" ToolTip="Save the current state of the list" />
                        <asp:Button ID="recoverButton" runat="server" Text="Recover saved state" OnClick="recoverButton_Click" Enabled="false" ToolTip="Recover the last saved state" />
                        <asp:Button ID="clearButton" runat="server" Text="Clear" OnClick="clearButton_Click" ToolTip="Remove all items from the list" /><br />
                            <br />
                            <asp:CheckBox ID="CheckBox1" runat="server" Checked="True" OnCheckedChanged="CheckBox1_CheckedChanged"
                                Text="Show saved state" AutoPostBack="True" /></td>
                    </tr>
                    <tr>
                        <td colspan="2">
                            <br />
                            <br />
                            &nbsp;&nbsp;
                            <hr />
                            Message: <asp:Label ID="Message" runat="server" ForeColor="SteelBlue" />&nbsp;&nbsp;<br />
                            <asp:Label ID="StateLabel" runat="server" Text="State:"></asp:Label>
                            <asp:Label ID="SavedState" runat="server"/><br />                        
                        </td>
                    </tr>
                </table>
            </ContentTemplate>
        </asp:UpdatePanel>
        <asp:UpdateProgress ID="UpdateProgress1" runat="server">
            <ProgressTemplate>
                <asp:Image ID="Image1" runat="server" ImageUrl="..\images\spinner.gif" />&nbsp;Processing...
            </ProgressTemplate>
        </asp:UpdateProgress>
    </form>
</body>
</html>

Commenti

La JavaScriptSerializer classe viene utilizzata internamente dal livello di comunicazione asincrona per serializzare e deserializzare i dati passati tra il browser e il server Web.The JavaScriptSerializer class is used internally by the asynchronous communication layer to serialize and deserialize the data that is passed between the browser and the Web server. Non è possibile accedere a tale istanza del serializzatore.You cannot access that instance of the serializer. Tuttavia, questa classe espone un'API pubblica.However, this class exposes a public API. Pertanto, è possibile utilizzare la classe quando si desidera utilizzare JavaScript Object Notation (JSON) nel codice gestito.Therefore, you can use the class when you want to work with JavaScript Object Notation (JSON) in managed code.

Per serializzare un oggetto, usare Serialize il metodo.To serialize an object, use the Serialize method. Per deserializzare una stringa JSON, usare i Deserialize metodi DeserializeObject o.To deserialize a JSON string, use the Deserialize or DeserializeObject methods. Per serializzare e deserializzare i tipi che non sono supportati in JavaScriptSerializermodo nativo da, implementare convertitori personalizzati JavaScriptConverter tramite la classe.To serialize and deserialize types that are not natively supported by JavaScriptSerializer, implement custom converters by using the JavaScriptConverter class. Registrare quindi i convertitori usando il RegisterConverters metodo.Then register the converters by using the RegisterConverters method.

Mapping tra tipi gestiti e JSONMapping Between Managed Types and JSON

La tabella seguente illustra il mapping tra i tipi gestiti e JSON per il processo di serializzazione.The following table shows the mapping between managed types and JSON for the serialization process. Questi tipi gestiti sono supportati in modo nativo JavaScriptSerializerda.These managed types are natively supported by JavaScriptSerializer. Quando si esegue la deserializzazione da una stringa JSON a un tipo gestito, viene applicato lo stesso mapping.When you are deserializing from a JSON string to a managed type, the same mapping applies. Tuttavia, la deserializzazione può essere asimmetrica. non tutti i tipi gestiti serializzabili possono essere deserializzati da JSON.However, deserialization can be asymmetric; not all serializable managed types can be deserialized from JSON.

Nota

Una matrice multidimensionale viene serializzata come matrice unidimensionale ed è consigliabile usarla come matrice flat.A multidimensional array is serialized as a one-dimensional array, and you should use it as a flat array.

Tipo gestitoManaged type Equivalente JSONJSON equivalent
String(Solo codifica UTF-8).String (UTF-8 encoding only). StringaString
Char StringaString
Singolo carattere null (ad esempio, \ 0)Single null char (such as, \0 ) NullNull
Boolean Proprietà di tipo Boolean.Boolean. Rappresentata in JSON true come ofalseRepresented in JSON as true or false
null(null riferimenti a oggetti Nullable e tipi di valore).null (null object references and Nullable value types). Valore stringa nullA string value of null
DBNull Valore stringa nullA string value of null
Tipi numerici primitivi o compatibili con valori numerici SByte: Int16 Byte, Int32, Int64, UInt16, UInt32, UInt64, Double,, Singlee.Primitive numeric (or numeric-compatible) types: Byte, SByte, Int16, Int32, Int64, UInt16, UInt32, UInt64, Double, and Single. Viene utilizzata la rappresentazione in formato stringa indipendente dalle impostazioni cultura.The culture-invariant string representation is used. NumberNumber
DateTime Oggetto date, rappresentato in JSON come "\/date (numero di cicli)\/".Date object, represented in JSON as "\/Date(number of ticks)\/". Il numero di cicli è un valore lungo positivo o negativo che indica il numero di cicli (in millisecondi) trascorsi dalla mezzanotte 01 gennaio 1970 UTC.The number of ticks is a positive or negative long value that indicates the number of ticks (milliseconds) that have elapsed since midnight 01 January, 1970 UTC.

Il valore di data massimo supportato MaxValue è (12/31/9999 11:59:59 PM) e il valore di data minimo MinValue supportato è (1/1/0001 12:00:00 AM).The maximum supported date value is MaxValue (12/31/9999 11:59:59 PM) and the minimum supported date value is MinValue (1/1/0001 12:00:00 AM).
Enumerazioni di tipo IntegerEnumerations of integer type Equivalente integer del valore di enumerazioneInteger equivalent of the enumeration value
Tipi che IEnumerable implementano System.Collections.Generic.IEnumerable<T> o che non sono anche implementazioni IDictionary di System.Collections.Generic.IDictionary<TKey,TValue>o.Types that implement IEnumerable or System.Collections.Generic.IEnumerable<T> that are not also implementations of IDictionary or System.Collections.Generic.IDictionary<TKey,TValue>. Sono inclusi i tipi Arraycome, ArrayListe. List<T>This includes types such as Array, ArrayList, and List<T>. Matrice che usa la sintassi della matrice JSONArray that uses JSON array syntax
Tipi che IDictionary implementano System.Collections.Generic.IDictionary<TKey,TValue>o.Types that implement IDictionary or System.Collections.Generic.IDictionary<TKey,TValue>. Sono inclusi i tipi, Dictionary<TKey,TValue> ad Hashtableesempio e.This includes types such as Dictionary<TKey,TValue> and Hashtable. Oggetto JavaScript che usa la sintassi del dizionario JSONJavaScript object that uses JSON dictionary syntax
Tipi concreti (non astratti) personalizzati che dispongono di proprietà di istanza pubbliche che includono funzioni di accesso get o campi di istanza pubblici.Custom concrete (non-abstract) types that have public instance properties that have get accessors or public instance fields.

Si noti che le proprietà pubbliche di sola scrittura, le proprietà pubbliche o gli attributi ScriptIgnoreAttributedi campo pubblico contrassegnati con e le proprietà indicizzate pubbliche in questi tipi vengono ignorate.Note that public write-only properties, public property or public field attributes marked with ScriptIgnoreAttribute, and public indexed properties in these types are ignored.
Oggetto JavaScript che usa la sintassi del dizionario JSON.JavaScript object that uses JSON dictionary syntax. Una proprietà di metadati speciale denominata "__type" è inclusa per garantire la deserializzazione corretta.A special metadata property named "__type" is included to ensure correct deserialization. Assicurarsi che le proprietà delle istanze pubbliche dispongano delle funzioni di accesso get e set per garantire la deserializzazione corretta.Make sure that public instance properties have get and set accessors to ensure correct deserialization.
Guid Rappresentazione di stringa di un GUIDString representation of a GUID
Uri Rappresentazione di stringa del valore restituito diGetComponentsString representation of the return value of GetComponents

Costruttori

JavaScriptSerializer() JavaScriptSerializer() JavaScriptSerializer() JavaScriptSerializer()

Inizializza una nuova istanza della classe JavaScriptSerializer che non possiede un resolver di tipi.Initializes a new instance of the JavaScriptSerializer class that has no type resolver.

JavaScriptSerializer(JavaScriptTypeResolver) JavaScriptSerializer(JavaScriptTypeResolver) JavaScriptSerializer(JavaScriptTypeResolver) JavaScriptSerializer(JavaScriptTypeResolver)

Inizializza una nuova istanza della classe JavaScriptSerializer che possiede un resolver di tipi personalizzato.Initializes a new instance of the JavaScriptSerializer class that has a custom type resolver.

Proprietà

MaxJsonLength MaxJsonLength MaxJsonLength MaxJsonLength

Ottiene o imposta la lunghezza massima delle stringhe JSON accettate dalla classe JavaScriptSerializer.Gets or sets the maximum length of JSON strings that are accepted by the JavaScriptSerializer class.

RecursionLimit RecursionLimit RecursionLimit RecursionLimit

Ottiene o imposta il limite per vincolare il numero di livelli dell'oggetto da elaborare.Gets or sets the limit for constraining the number of object levels to process.

Metodi

ConvertToType(Object, Type) ConvertToType(Object, Type) ConvertToType(Object, Type) ConvertToType(Object, Type)

Converte l'oggetto specificato nel tipo indicato.Converts the specified object to the specified type.

ConvertToType<T>(Object) ConvertToType<T>(Object) ConvertToType<T>(Object) ConvertToType<T>(Object)

Converte l'oggetto specificato nel tipo specificato.Converts the given object to the specified type.

Deserialize(String, Type) Deserialize(String, Type) Deserialize(String, Type) Deserialize(String, Type)

Converte una stringa in formato JSON in un oggetto del tipo specificato.Converts a JSON-formatted string to an object of the specified type.

Deserialize<T>(String) Deserialize<T>(String) Deserialize<T>(String) Deserialize<T>(String)

Converte la stringa JSON specificata in un oggetto di tipo T.Converts the specified JSON string to an object of type T.

DeserializeObject(String) DeserializeObject(String) DeserializeObject(String) DeserializeObject(String)

Converte la stringa JSON specificata in un oggetto grafico.Converts the specified JSON string to an object graph.

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

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

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

Funge da funzione hash predefinita.Serves as the default hash function.

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

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

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

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
RegisterConverters(IEnumerable<JavaScriptConverter>) RegisterConverters(IEnumerable<JavaScriptConverter>) RegisterConverters(IEnumerable<JavaScriptConverter>) RegisterConverters(IEnumerable<JavaScriptConverter>)

Registra un convertitore personalizzato con l'istanza JavaScriptSerializer.Registers a custom converter with the JavaScriptSerializer instance.

Serialize(Object) Serialize(Object) Serialize(Object) Serialize(Object)

Converte un oggetto in una stringa JSON.Converts an object to a JSON string.

Serialize(Object, StringBuilder) Serialize(Object, StringBuilder) Serialize(Object, StringBuilder) Serialize(Object, StringBuilder)

Serializza un oggetto e scrive la stringa JSON risultante in un oggetto StringBuilder specificato.Serializes an object and writes the resulting JSON string to the specified StringBuilder object.

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

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Si applica a

Vedi anche