Что ж, в настоящее время я использую следующие методы расширения для сериализации и десериализации объектов:
using System.Web.Script.Serialization;
public static string ToJSON(this object objectToSerialize)
{
JavaScriptSerializer jss = new JavaScriptSerializer();
return jss.Serialize(objectToSerialize);
}
/// <typeparam name="T">The type we are deserializing the JSON to.</typeparam>
public static T FromJSON<T>(this string json)
{
JavaScriptSerializer jss = new JavaScriptSerializer();
return jss.Deserialize<T>(json);
}
Я использую это совсем немного - будьте предупреждены, эта реализация немного наивна (то есть, есть некоторые потенциальные проблемы с ней, в зависимости от того, что вы сериализуете и как вы используете это на клиенте, особенно с DateTimes).