一,
public class JsonHelper
{
/// <summary>
/// JSON序列化
/// </summary>
public static string JsonSerializer<T>(T t)
{
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
MemoryStream ms = new MemoryStream();
ser.WriteObject(ms, t);
string jsonString = Encoding.UTF8.GetString(ms.ToArray());
ms.Close();
return jsonString;
}
/// <summary>
/// JSON反序列化
/// </summary>
public static T JsonDeserialize<T>(string jsonString)
{
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
T obj = (T)ser.ReadObject(ms);
return obj;
}
}
二,
//JSON反序列化
public static T Deserialize<T>(string json)
{
var jSetting = new JsonSerializerSettings();
jSetting.NullValueHandling = NullValueHandling.Ignore;
T dt1 = JsonConvert.DeserializeObject<T>(json, jSetting);
return dt1;
}
三,
/// <summary>
/// Json序列化,用于发送到客户端
/// </summary>
public static string ToJson(object item)
{
string json = JsonConvert.SerializeObject(item);
return json;
}
/// <summary>
/// 实体返序列化,客户端json转为实体
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="json"></param>
/// <returns></returns>
public static T ToEntity<T>(string json)
{
return JsonConvert.DeserializeObject<T>(json);
}
ps:相关程序包自行下载
json在线生成实体类:https://www.sojson.com/json2entity.html
json在线校验:http://www.bejson.com/