JSONのデータの例 { "Age":10, "Name":"John", "Address":["Tokyo","Fukuoka"] } Namespace using System.Runtime.Serialization; using System.Runtime.Serialization.Json; using System.IO; データ構造と一致するデータクラスを定義 [DataContract] public class UserInfo { [DataMember] public int Age { get; set; } [DataMember] public string Name { get; set; } [DataMember] public List<string> Address { get; set; } } JSON 形式データをUserInfoオブジェクトに変換する // JSONデータ文字列 string jsonString = @"{""Address"":[""Tokyo"",""Fukuoka""],""Age"":32,""Name"":""Doi""}"; // DataContractJsonSerializerをインスタンス化 DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(UserInfo)); // JSONデータを文字列からバイト配列に変換 byte[] jsonBytes = Encoding.Unicode.GetBytes(jsonString); // バイト配列を読み込むMemoryStreamクラスを定義 MemoryStream sr = new MemoryStream(jsonBytes); // ReadObjectメソッドでJSONデータを.NETオブジェクトに変換 UserInfo obj = (UserInfo)serializer.ReadObject(sr); UserInfoオブジェクトをJSON 形式データに変換する //JSONデータを書き込むためのMemoryStreamを作成 MemoryStream stream = new MemoryStream(); // WriteObjectメソッドで.NETオブジェクトをJSONデータに変換 serializer.WriteObject(stream, obj); // 書き込んだMemoryStreamの内容を出力 stream.Position = 0; StreamReader reader = new StreamReader(stream); System.Console.Write(reader.ReadToEnd()); 超多機能のアクセス解析が永久無料! コメント: |