JavaScriptSerializer.Serialize メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オブジェクトを JSON 文字列に変換します。
オーバーロード
| 名前 | 説明 |
|---|---|
| Serialize(Object) |
オブジェクトを JSON 文字列に変換します。 |
| Serialize(Object, StringBuilder) |
オブジェクトをシリアル化し、結果の JSON 文字列を指定した StringBuilder オブジェクトに書き込みます。 |
Serialize(Object)
オブジェクトを JSON 文字列に変換します。
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
パラメーター
- obj
- Object
シリアル化するオブジェクト。
返品
シリアル化された JSON 文字列。
例外
結果の JSON 文字列が MaxJsonLengthの値を超えています。
-又は-
obj には循環参照が含まれています。 循環参照は、子オブジェクトが親オブジェクトへの参照を持ち、親オブジェクトが子オブジェクトへの参照を持っている場合に発生します。
RecursionLimitによって定義された再帰の制限を超えました。
例
次の例では、データ オブジェクトをシリアル化および逆シリアル化する方法の簡単な図を示します。
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
次の例に示すように、 Personという名前のクラスが必要です。
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
注釈
JavaScriptSerializer インスタンスがカスタム コンバーターが登録されている型をシリアル化する場合、シリアライザーは Serialize メソッドを呼び出して、JSON 文字列に変換される名前と値のペアのディクショナリを取得します。
Serialize メソッドは、オブジェクト グラフが複雑すぎる場合や、JavaScriptConverterの登録済みインスタンスによってコンバーター再帰が発生した場合にも例外をスローできます。
適用対象
Serialize(Object, StringBuilder)
オブジェクトをシリアル化し、結果の JSON 文字列を指定した StringBuilder オブジェクトに書き込みます。
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)
パラメーター
- obj
- Object
シリアル化するオブジェクト。
- output
- StringBuilder
JSON 文字列の書き込みに使用される StringBuilder オブジェクト。
例外
結果の JSON 文字列が MaxJsonLengthの値を超えています。
-又は-
obj には循環参照が含まれています。 循環参照は、子オブジェクトが親オブジェクトへの参照を持ち、親オブジェクトが子オブジェクトへの参照を持っている場合に発生します。
RecursionLimitによって定義された再帰の制限を超えました。
output は nullです。
注釈
JavaScriptSerializer インスタンスがカスタム コンバーターが登録されている型をシリアル化する場合、シリアライザーは Serialize メソッドを呼び出して、JSON 文字列に変換される名前と値のペアのディクショナリを取得します。
Serialize メソッドは、オブジェクト グラフが複雑すぎる場合や、JavaScriptConverterの登録済みインスタンスによってコンバーター再帰が発生した場合にも例外をスローできます。