public class TMC
{
public TMC()
{
TagMatchConditions = new Dictionary<string, List<string>>();
DateRange = new Dictionary<string, List<Date>>();
}
public Dictionary<string, List<string>> TagMatchConditions { get; set; }
public Dictionary<string, List<Date>> DateRange { get; set; }
public override string ToString()
{
return JsonConvert.SerializeObject(this);
}
}
传送的参数是该实体的Json形式
传入之后需要解析参数,进行相应的操作
之前总是一步步的解析,获得单个对象的值。今天突然发现原来有这么简便的方式
//获得整个对象,整个json可以被划分为 JObject、JArray、JProperty几种类型
var tokens = JObject.Parse(filterCondition);
//获得标签匹配的条件
var tagValues = JObject.Parse(tokens["TagMatchConditions"].ToString())
.ToObject<Dictionary<string, List<string>>>();
//获得日期范围过滤条件
var dateValues = JObject.Parse(tokens["DateRange"].ToString())
.ToObject<Dictionary<string, List<Infrastructure.Date>>>();
注:字典类型并不是数组类型,其中的每一项都是一个JObject类型,而不是JArray类型