読者です 読者をやめる 読者になる 読者になる

Silverlight 2 で Json をパースしてオブジェクトにマッピング

1.1 のときは JavaScriptSerializer があったのですが、なぜか 2 では無くなってしまってました。

で、どないしようかと考えて、 DLR の JScript に JSON とオブジェクトにマップするコードを食べさせて実現しようかとか、諦めて別のものにしようかとか考えたのですが、ありました。


System.Runtime.Serialization.Json.DataContractJsonSerializer クラス


なんか微妙にこれを使うのは反則のような気もしないではないですが、まぁいいとしましょう。

var serializer = new DataContractJsonSerializer(typeof(Hoge));
using (var stream = new MemoryStream(Encoding.Unicode.GetBytes(jsonString)))
{
  var hoge = serializer.ReadObject(stream) as Hoge;
}