Тесто! У меня действительно было несколько проблем в этом коде. Я исправлял это ... спасибо, не видел тот.
ел бы как можно проще сериализовать любой объект в JSON, а затем просто преобразовать его обратно в объект type = safe. Может кто-нибудь сказать мне, что я делаю неправильно в методе расширения "FromJSONString"?
редактировать
Для вашего удобства ниже представлен полный и функциональный метод расширения. Дай мне знать, если увидишь ошибки.
public static string ToJSONString(this object obj)
{
using (var stream = new MemoryStream())
{
var ser = new DataContractJsonSerializer(obj.GetType());
ser.WriteObject(stream, obj);
return Encoding.UTF8.GetString(stream.ToArray());
}
}
public static T FromJSONString<T>(this string obj)
{
using (var stream = new MemoryStream(Encoding.UTF8.GetBytes(obj)))
{
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
T ret = (T)ser.ReadObject(stream);
return ret;
}
}