C#使用linq for chartist.js序列化数据
我有以下清单:C#使用linq for chartist.js序列化数据,c#,linq,serialization,json.net,C#,Linq,Serialization,Json.net,我有以下清单: public class Prices { public int Year { get; set; } public decimal Price { get; set; } } List<Prices> List1 = new List<Prices>(); List1.Add(new Prices { Year = 2018, Price = 1.5m }); List1.
public class Prices
{
public int Year { get; set; }
public decimal Price { get; set; }
}
List<Prices> List1 = new List<Prices>();
List1.Add(new Prices { Year = 2018, Price = 1.5m });
List1.Add(new Prices { Year = 2017, Price = 1.2m });
List1.Add(new Prices { Year = 2016, Price = 3.5m });
//The linq query i'm trying to build
var data1 = List1.Select(c=> new
{
labels = new List<Int64> {c.Year },
series = new List<decimal> {
new List<decimal> { c.Price }
}
});
// it's what i want to build
var data2 = new {
labels = new List<Int64> { 2018, 2017, 2016 },
series = new List<decimal[]> {
new decimal[] { 1.5m, 1.2m, 3.5m }
}
};
var Json = JsonConvert.SerializeObject(data2);
//Json => {"labels":[2018,2017,2016],"series":[[1.5,1.2,3.5]]}
公共类价格
{
公共整数年{get;set;}
公共十进制价格{get;set;}
}
List List1=新列表();
列表1.添加(新价格{年份=2018,价格=150万});
列表1.添加(新价格{2017年,价格=120万});
列表1.添加(新价格{2016年,价格=350万});
//我正在尝试构建的linq查询
var data1=List1.Select(c=>new
{
标签=新列表{c.Year},
系列=新列表{
新列表{c.价格}
}
});
//这就是我想要建造的
var data2=新{
标签=新列表{2018、2017、2016},
系列=新列表{
新十进制[]{1.5m,1.2m,3.5m}
}
};
var Json=JsonConvert.SerializeObject(data2);
//Json=>{“标签”:[201820172016],“系列”:[1.5,1.2,3.5]}
我希望使用linq将List1转换为Json输出:
{“标签”:[201820172016],“系列”:[1.5,1.2,3.5]}
创建一个包含
标签
和价格
属性的新对象,其中每个属性都使用填充。选择()
以选择适当的值
var data = new
{
labels = List1.Select(x => x.Year),
prices = new []{ List1.Select(x => x.Price) }
};
var Json = JsonConvert.SerializeObject(data);
创建一个包含
标签
和价格
属性的新对象,其中每个属性都使用填充。选择()
以选择适当的值
var data = new
{
labels = List1.Select(x => x.Year),
prices = new []{ List1.Select(x => x.Price) }
};
var Json = JsonConvert.SerializeObject(data);
扩展user3559349的答案,将其放入类或视图模型中
Public class ChartModel
{
public ChartUnit[] Chart { get; set; } = Array.Empty<ChartUnit>();
public string ToJson()
{
var data = new
{
lables = Chart.Select(s => s.Label),
Value = Chart.Select(s => s.Value)
};
var json = JsonConvert.SerializeObject(data);
return json;
}
}
公共类图表模型
{
public ChartUnit[]图表{get;set;}=Array.Empty();
公共字符串ToJson()
{
var数据=新
{
标签=图表。选择(s=>s.Label),
值=图表。选择(s=>s.Value)
};
var json=JsonConvert.serialized对象(数据);
返回json;
}
}
展开user3559349的答案,将其放入类或视图模型中
Public class ChartModel
{
public ChartUnit[] Chart { get; set; } = Array.Empty<ChartUnit>();
public string ToJson()
{
var data = new
{
lables = Chart.Select(s => s.Label),
Value = Chart.Select(s => s.Value)
};
var json = JsonConvert.SerializeObject(data);
return json;
}
}
公共类图表模型
{
public ChartUnit[]图表{get;set;}=Array.Empty();
公共字符串ToJson()
{
var数据=新
{
标签=图表。选择(s=>s.Label),
值=图表。选择(s=>s.Value)
};
var json=JsonConvert.serialized对象(数据);
返回json;
}
}