JavaScriptSerializer.Serialize Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Egy objektumot JSON-sztringgé alakít át.
Túlterhelések
| Name | Description |
|---|---|
| Serialize(Object) |
Egy objektumot JSON-sztringgé alakít át. |
| Serialize(Object, StringBuilder) |
Szerializál egy objektumot, és az eredményül kapott JSON-sztringet a megadott StringBuilder objektumra írja. |
Serialize(Object)
Egy objektumot JSON-sztringgé alakít át.
public:
System::String ^ Serialize(System::Object ^ obj);
public string Serialize(object obj);
member this.Serialize : obj -> string
Public Function Serialize (obj As Object) As String
Paraméterek
- obj
- Object
A szerializálandó objektum.
Válaszok
A szerializált JSON-sztring.
Kivételek
Az eredményül kapott JSON-sztring meghaladja a következő értékét MaxJsonLength: .
-vagy-
obj körkörös hivatkozást tartalmaz. Körkörös hivatkozás akkor fordul elő, ha egy gyermekobjektum egy szülőobjektumra mutató hivatkozást, a szülőobjektum pedig a gyermekobjektumra mutató hivatkozást.
Túllépte a rekurziós korlátot RecursionLimit .
Példák
Az alábbi példa egy egyszerű illusztrációt nyújt az adatobjektumok szerializálására és deszerializálására.
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
Ehhez egy nevesített Personosztályra van szükség, amely az alábbi példában látható.
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
Megjegyzések
Ha a JavaScriptSerializer példány szerializál egy olyan típust, amelyhez egyéni konverter van regisztrálva, a szerializáló meghívja a Serialize metódust a név-érték párok szótárának beszerzésére, amelyeket JSON-sztringgé konvertálunk.
A Serialize metódus kivételeket is okozhat, ha az objektumdiagram túl összetett, vagy ha a regisztrált példányok konverter-rekurziót okoztak JavaScriptConverter .
A következőre érvényes:
Serialize(Object, StringBuilder)
Szerializál egy objektumot, és az eredményül kapott JSON-sztringet a megadott StringBuilder objektumra írja.
public:
void Serialize(System::Object ^ obj, System::Text::StringBuilder ^ output);
public void Serialize(object obj, System.Text.StringBuilder output);
member this.Serialize : obj * System.Text.StringBuilder -> unit
Public Sub Serialize (obj As Object, output As StringBuilder)
Paraméterek
- obj
- Object
A szerializálandó objektum.
- output
- StringBuilder
A StringBuilder JSON-sztring írásához használt objektum.
Kivételek
Az eredményül kapott JSON-sztring meghaladja a következő értékét MaxJsonLength: .
-vagy-
obj körkörös hivatkozást tartalmaz. Körkörös hivatkozás akkor fordul elő, ha egy gyermekobjektum egy szülőobjektumra mutató hivatkozást, a szülőobjektum pedig a gyermekobjektumra mutató hivatkozást.
Túllépte a rekurziós korlátot RecursionLimit .
output az null.
Megjegyzések
Ha a JavaScriptSerializer példány szerializál egy olyan típust, amelyhez egyéni konverter van regisztrálva, a szerializáló meghívja a Serialize metódust a név-érték párok szótárának beszerzésére, amelyeket JSON-sztringgé konvertálunk.
A Serialize metódus kivételeket is okozhat, ha az objektumdiagram túl összetett, vagy ha a regisztrált példányok konverter-rekurziót okoztak JavaScriptConverter .