我想在列表上创建动态透视列表,其中包含以下格式的数据
"products" :
{
"name": "ABC",
"Variance": [
{
"Date": "01-01-2018",
"Value": "10"
},
{
"Date": "02-01-2018",
"Value": "11"
},
{
"Date": "03-01-2018",
"Value": "12"
},
]
},
{
"name": "XYZ",
"Variance": [
{
"Date": "01-01-2018",
"Value": "22"
},
{
"Date": "03-01-2018",
"Value": "24"
},
{
"Date": "04-01-2018",
"Value": "28"
},
],
},
{
"name": "PQR",
"Variance": [
{
"Date": "01-01-2018",
"Value": "20"
},
{
"Date": "02-01-2018",
"Value": "22"
},
{
"Date": "04-01-2018",
"Value": "24"
},
],
}
我想创建透视列表,以便它可以返回像
这样的数据"NewProducts":[{
"Date": "01-01-2018",
"ABC" : "10"
"XYZ" : "22",
"PQR" : "20"
},
{
"Date": "02-01-2018",
"ABC" : "11"
"XYZ" : "null",
"PQR" : "22"
},
{
"Date": "03-01-2018",
"ABC" : "12"
"XYZ" : "24",
"PQR" : "null"
},
{
"Date": "04-01-2018",
"ABC" : "null"
"XYZ" : "28",
"PQR" : "24"
}]
我尝试了一些在内部列表上加入的方法,但没有获得所需的结果。我想避免循环,因为我的产品列表会根据选择而有所不同。 我能够使用for循环加入列表,但我希望尽可能少地使用for循环。任何建议对我都很有帮助。
先谢谢。
答案 0 :(得分:0)
假设您要使用Dictionary<string,int>
来保存动态值对,可以先使用SelectMany
将嵌套结构展平为新的平面列表,然后按{{1}分组,然后使用LINQ }:
Date