您好我想用json数据构建选择查询
json数据
{
"Data": [
{
"Name": "Group1",
"Fields": [
{
"Field": "EmployeeSCP.Salary",
"Operator": "lt",
"Value": "50000"
}
],
"Condition": "0"
},
{
"Name": "Group2",
"Fields": [
{
"Field": "EmployeeSCP.Salary",
"Operator": "gt",
"Value": "20000"
}
],
"Condition": "0"
},
],
"groupCondition": 0
}
我的模特
public class ValidationModelData
{
public List<Data> Data { get;set; }
public string groupCondition { get; set; }
}
public class FieldsData
{
public string Field { get; set; }
public string Operator { get; set; }
public string Value { get; set; }
}
public class Data
{
public string Name { get; set; }
public List<FieldsData> Fields { get; set; }
public string Condition { get; set; }
}
使用这个我想建立像这样的选择查询
select * from EmployeeSCP where salary < 50000 AND salary>20000
任何人都请告诉我
答案 0 :(得分:1)
首先,您需要反序列化该数据。有一个很棒的图书馆,Json.Net
。
string json = ""; //your json string
var data = JsonConvert.DeserializeObject<ValidationModelData>(json);
然后您可以使用 Linq 以类似SQL的语法选择您喜欢的对象:
var result = from d in data
where d.Name == "TestName"
select d;
您可以使用相同的方法语法:
var result = data.Where(d => d.Name == "TestName");
PS:我不能用salary
给出一个例子,因为给定的类没有这个属性。