VB.NET で JSON を使ったシリアライズ/デシリアライズの例。
Json.DataContractJsonSerializer は .net 4 系で追加されたようなので、.net 2 系では動作しません。
ポイントは、シリアライズ対象のクラスに <DataContract> 属性をつけること、シリアライズ対象のメンバーに<DataMember> 属性をつけることだろうか。
' 参照設定 "System.Runtime.Serialization" Imports System.IO Imports System.Text Imports System.Runtime.Serialization <DataContract> Public Class Container <DataMember> Public Items As New Dictionary(Of String, Object) End Class Module Module1 Sub Main() ' 元のオブジェクトの作成 Dim obj0 = New Container obj0.Items.Add("AAA", 100) obj0.Items.Add("BBB", 250) 'シリアライザー Dim serializer = New Json.DataContractJsonSerializer(GetType(Container)) ' シリアライズ Dim str1 As String = "" Using mem = New MemoryStream() serializer.WriteObject(mem, obj0) str1 = Encoding.UTF8.GetString(mem.ToArray()) End Using ' デシリアライズ Dim obj2 As Container Using mem = New MemoryStream(Encoding.UTF8.GetBytes(str1)) obj2 = CType(serializer.ReadObject(mem), Container) End Using End Sub End Module