このJSONを取ると、あなたは(T)を指定すると、強く型付けされたクラスに変換します
public static T Deserialize<T>(string json)
{
var obj = Activator.CreateInstance<T>();
using(var ms = new MemoryStream(Encoding.Unicode.GetBytes(json)))
{
var serializer = new DataContractJsonSerializer(obj.GetType());
obj = (T) serializer.ReadObject(ms);
return obj;
}
}
このクラスを取り、JSON
public static string Serialize<T>(T obj)
{
var serializer = new DataContractJsonSerializer(obj.GetType());
using (var ms = new MemoryStream())
{
serializer.WriteObject(ms, obj);
return Encoding.Default.GetString(ms.ToArray());
}
}
としてそれをシリアル化します。注:イン最初の例では、T
のタイプを指定するバッキングクラスが必要です。あなたは、これはどこかに指定されている必要がありますUser
Tが型であることを告げたのであれば:
public class User
{
public string Username { get; set; }
public string Firstname { get; set; }
}
をジャスト[Json.NET](HTTPを使用james.newtonking.com/projects/json-net.aspx)を使用すると、作成する必要のある任意のタイプのシリアル化およびデシリアライズが可能です。 –
可能な複製[Json Deserialize C#](http://stackoverflow.com/questions/7895105/json-deserialize-c-sharp) – nawfal