【发布时间】:2011-01-23 00:36:46
【问题描述】:
我想尽可能轻松地将任何对象序列化为 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;
}
}
【问题讨论】:
标签: c# json c#-4.0 c#-3.0 extension-methods