public class JsonOpration
{
/// <summary>
/// 格式化成Json字符串
/// </summary>
/// <param name="obj">需要格式化的对象</param>
/// <returns>Json字符串</returns>
public static string ToJson(object obj)
{
// 首先,当然是JSON序列化
DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
// 定一个stream用来存发序列化之后的内容
Stream stream = new MemoryStream();
serializer.WriteObject(stream, obj);
// 从头到尾将stream读取成一个字符串形式的数据,并且返回
stream.Position = 0;
StreamReader streamReader = new StreamReader(stream);
return streamReader.ReadToEnd();
}
/// <summary>
/// 将json字符串转化为对象
/// </summary>
/// <param name="jsonStr">json格式的字符串</param>
/// <param name="obj">要格式化成的对象</param>
/// <returns>Json字符串</returns>
public static object ToObject(string jsonStr,object obj)
{
// 首先,当然是JSON序列化
DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
byte[] jsonByte = Encoding.UTF8.GetBytes(jsonStr);
Stream stream = new MemoryStream(jsonByte);
obj = serializer.ReadObject(stream);
return obj;
}
}