Method with variable that accept variety of JSON structure to be query over linq...
Currently my result is heading the right direction returning the select result over the linq query but it's hard coded.
I have fews sets of data structure,
example belows:-
var SET_A=[
{
"Axel": "C019",
"Growth": 4.795,
"Status": "Poor"
},
{
"Axel": "C019",
"Growth": 4.083333,
"Status": "Fair"
},
{
"Axel": "C019",
"Growth": 8.031212,
"Status": "V.Poor"
},
{
"Axel": "C019",
"Growth": 10.6275,
"Status": "V.Poor"
},
{
"Axel": "C019",
"Growth": 3.876363,
"Status": "Fair"
},
{
"Axel": "C019",
"Growth": 7.735714,
"Status": "V.Poor"
},
{
"Axel": "C020",
"Growth": 3.196477,
"Status": "Good"
},
{
"Axel": "C020",
"Growth": 3.2,
"Status": "Good"
},
{
"Axel": "C020",
"Growth": 4.51125,
"Status": "Fair"
},
{
"Axel": "C020",
"Growth": 4.125,
"Status": "Fair"
}
];
another sample data.
var SET_B = [
{
"Class": "H",
"Points": 252.17,
"TotalAchieve": 252.17,
"LastRecord": 2012
},
{
"Class": "A",
"Points": 36.44,
"TotalAchieve": 36.44,
"LastRecord": 2012
},
{
"Class": "B",
"Points": 442.07,
"TotalAchieve": 442.07,
"LastRecord": 2012
},
{
"Class": "C",
"Points": 852.32,
"TotalAchieve": 852.32,
"LastRecord": 2012
},
{
"Class": "D",
"Points": 903.96,
"TotalAchieve": 1323.83,
"LastRecord": 2012
},
{
"Class": "E",
"Points": 0,
"TotalAchieve": 0,
"LastRecord": 2011
},
{
"Class": "J",
"Points": 0,
"TotalAchieve": 0,
"LastRecord": 2011
},
{
"Class": "M",
"Points": 0,
"TotalAchieve": 0,
"LastRecord": 2011
},
{
"Class": "T",
"Points": 0,
"TotalAchieve": 0,
"LastRecord": 2011
},
{
"Class": "T",
"Points": 2486.96,
"TotalAchieve": 2906.83,
"LastRecord": 2012
}
]
Possiblity of few more others variant of data in valid JSON structure
my execution ..
ExtractSeries(SET_A, "Growth","Status","Axel");
or
ExtractSeries(SET_B, "Points","Class","LastRecord");
OR
ExtractSeries(SET_B, "TotalAchieve","Class","LastRecord");
I am stuck at this where i am trying
- to make use of seedA and seedB to be replace at the Select.
to make use of the group by in the linq.
public List<string> ExtractSeries(string JSONDs, string seedA,string seedB,string groupby) { var jss = new JavaScriptSerializer(); var table = jss.Deserialize<dynamic>JSONDs, dynamic data = System.Web.Helpers.Json.Decode(jss.Serialize(table)); var result = from x in (IEnumerable<dynamic>)data select new { *x.Growth*, *x.Status* };}
I am trying to achieve this "kind" of structure
[{
"Name": "C019",
"Data": [
{
"Growth": 4.796,
"Status": "Poor"
},
{
"Growth": 4.083333,
"Status": "Fair"
},
{
"Growth": 8.031212,
"Status": "V.Poor"
},
{
"Growth": 10.6275,
"Status": "V.Poor"
},
{
"Growth": 3.876363,
"Status": "Fair"
},
{
"Growth": 7.735714,
"Status": "V.Poor"
},
{
"Growth": 3.196477,
"Status": "Good"
},
{
"Growth": 3.2,
"Status": "Good"
},
{
"Growth": 4.51125,
"Status": "Fair"
},
{
"Growth": 4.125,
"Status": "Fair"
}
]
},....more data with same structure above i.e "Name":"C020"
]
or
[
{
"Name": "2012",
"Data": [
{
"Class": "H",
"Points": 252.17
},
{
"Class": "A",
"Points": 36.44
},
{
"Class": "B",
"Points": 442.07
},
{
"Class": "C",
"Points": 852.32
},
{
"Class": "D",
"Points": 903.96
}
]
},
{
"Name": "2011",
"Data": [
{
"Class": "E",
"Points": 0
},
{
"Class": "J",
"Points": 0
},
{
"Class": "M",
"Points": 0
},
{
"Class": "T",
"Points": 0
}
]
}
]
List<Dictionary<string,string>>object, and then investigate thegroupclause to produce the output in the format you need. If you can provide C# code containing a string representation of your data, I can help more.var SET_Aandvar SET_B..