У меня есть следующие классы, которые я люблю сериализовать в Json. Я сейчас получаю что-то вроде этого
var pgdata = {"SeriesList":[{"label":"Fund","data":[{"Year":2000,"RateOfReturn":0.02},{"Year":2009,"RateOfReturn":0.03}]},{"label":"Benchmark","data":[{"Year":2000,"RateOfReturn":0.024},{"Year":2009,"RateOfReturn":0.032}]}]} ;
Мне нравится получать что-то вроде этого
var pgdata = {"SeriesList":[{"label":"Fund","data":[[2000,0.02],[2009,0.03]]},{"label":"Benchmark","data":[[2000,0.024],[2009,0.032]]}]} ;
C # код:
public class JsonPerformGraphData
{
public List<Series> SeriesList = new List<Series>();
public Series GetSeries(string name)
{
foreach (Series s in SeriesList)
{
if (s.label == name)
return s;
}
Series series = new Series(name);
SeriesList.Add(series);
return series;
}
public void Add(PerformanceGraphItem ppgi)
{
Series s = GetSeries(ppgi.PerformanceGraphSeries.Name);
s.addItem(ppgi.Year, ppgi.RateOfReturn);
}
public class Series
{
public string label;
public List<Data> data = new List<Data>();
public Series(String name)
{
label = name;
}
public void addItem(short year, double rateOfReturn)
{
data.Add(new Data(year,rateOfReturn));
}
}
public class Data
{
public short Year;
public double RateOfReturn;
public Data(short year, double rateOfReturn)
{
Year = year;
RateOfReturn = rateOfReturn;
}
}
}