您的位置:首页 > Web前端 > JavaScript

利用Newtonsoft.Json实现Json序列化与反序列化

2015-07-30 14:03 676 查看
在项目中用到了Newtonsoft.Json来实现序列化和反序列化,在这里写下实现代码。

1、创建类用于排除不序列化的属性

public class ExcludePropertiesContractResolver : DefaultContractResolver
{
IEnumerable<string> lstExclude;

public ExcludePropertiesContractResolver(IEnumerable<string> excludedProperties)
{
lstExclude = excludedProperties;
}

protected override IList<JsonProperty> CreateProperties(Type type, MemberSerialization memberSerialization)
{
return base.CreateProperties(type, memberSerialization).ToList().FindAll(p => !lstExclude.Contains(p.PropertyName));
}
}


2、序列化方法

以下分别是将对象、DataTable、集合序列化为Json字符串的方法:

/// <summary>
/// json字符串转换成T对象
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="jsonStr"></param>
/// <returns></returns>
public static T GetObjectByJsonString<T>(string jsonStr)
{
T obj = JsonConvert.DeserializeObject<T>(jsonStr);
return obj;
}

/// <summary>
/// json字符串转换成List对象
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="jsonStr"></param>
/// <returns></returns>
public static List<T> GetListByJsonString<T>(string jsonStr)
{
List<T> list = JsonConvert.DeserializeObject<List<T>>(jsonStr);
return list;
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: