1、把对象转化成json字符串
/// <summary>
/// 把对象转化成json字符串
/// </summary>
/// <typeparam name=“T”>类型</typeparam>
/// <param name="data"></param>
/// <returns>data对象</returns>
public string ObjectToJson<T>(T model)
{
System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(model.GetType());
using (MemoryStream ms = new MemoryStream())
{
serializer.WriteObject(ms, model);
return Encoding.UTF8.GetString(ms.ToArray());
}
}
或者:第三方Newtonsoft.Json.dll
/// <summary>
/// 把对象转化成json字符串
/// </summary>
/// <typeparam name=“T”>类型</typeparam>
/// <param name="data"></param>
/// <returns>data对象</returns>
public string ObjectToJsonNewton<T>(T model)
{
return JsonConvert.SerializeObject(model);
}
2、把集合list 转化成 json
/// <summary>
/// 把集合list 转化成 json
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="data"></param>
/// <returns></returns>
public string ObjectListToJson<T>(IList<T> data)
{
DataContractJsonSerializer json = new DataContractJsonSerializer(data.GetType());
string JsonStr = "";
//序列化
using (MemoryStream stream = new MemoryStream())
{
json.WriteObject(stream, data);
JsonStr = Encoding.UTF8.GetString(stream.ToArray());
}
return JsonStr;
}
3、JsonString 转化成对象列表
/// <summary>
/// JsonString 转化成对象列表
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="JsonStr"></param>
/// <returns></returns>
public List<T> JsonToObjectList<T>(string JsonStr)
{
JavaScriptSerializer Serializer = new JavaScriptSerializer();
List<T> objs = Serializer.Deserialize<List<T>>(JsonStr);
return objs;
}
或者:
/// <summary>
/// JsonString 转化成对象
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="json"></param>
/// <returns></returns>
public T JsonToObject<T>(string json)
{
T obj = Activator.CreateInstance<T>();
using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json)))
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
return (T)serializer.ReadObject(ms);
}
}