查询JArray 列表找到指定字段为指定值的对象
JArray jsonarray = JArray.Parse("[{'Id':3, 'Name': 'Product3'}, {'Id':1, 'Name': 'Product1'}, {'Id':2, 'Name': 'Product2'}]");
var name = jsonarray.FirstOrDefault(x => x.Value<int>("Id") == 1).Value<string>("Name");
实例:
JArray line_list = new JArray();
if (dt_base != null && dt_base.Rows.Count > 0)
{
foreach (DataRow item in dt_base.Rows)
{
JObject jsonChild = new JObject();
jsonChild.Add("BATCH_NO", Guid.NewGuid().ToString("N").ToUpper());//单据编号
jsonChild.Add("PLAN_START_DATE", Convert.ToDateTime(date_time).ToString("yyyy-MM-01 00:00:00"));//计划起始日期(必输,2019-05-01 00:00:00)
jsonChild.Add("PLAN_CMPLT_DATE", Convert.ToDateTime(date_time).AddMonths(1).ToString("yyyy-MM-01 00:00:00"));//计划结束日期(必输,2019-05-01 00:00:00)
line_list.Add(jsonChild);
}
}
var jt = line_list.FirstOrDefault(x => x.Value<string>("BATCH_ID") == "56E61669C6D24A8388373E0ADBB56E5C");
string PLAN_START_DATE = jt.Value<string>("PLAN_START_DATE");
string BATCH_NO = jt.Value<string>("BATCH_NO");
foreach JArray 循环JArray
JArray list = JArray.Parse(costcenter_list.ToString());
StringBuilder values_sql = new StringBuilder("");
foreach (JObject jo in list)
{
values_sql.Append($@"(
'{Guid.NewGuid().ToString("N").ToUpper()}'
,'{jo.GetValue("LINE_TYPE")}'
,'{jo.GetValue("LINE_NUMBER")}'
,'{jo.GetValue("FORMULALINE_ID")}'
,'{jo.GetValue("LINE_ID")}'
,'{jo.GetValue("STATUS")}'
,N'{jo.GetValue("MESSAGE")}'
,'{dt}'
)");
values_sql.Append(",");
}