Мне нужно объединить объекты из всех элементов списка, один к одному, и получить json строки, подобные этой:
[{"Title":"All", "Sum":2487443987.0,"Quantity":9247081,"Sessions":162973},{"Title":"Region", "Sum":38523698.0,"Quantity":172381,"Sessions":2445},{"Title":"City", "Sum":27080022.0,"Quantity":120689,"Sessions":1600}]
[{"Title":"All", "Sum":371348351.0,"Quantity":1306966,"Sessions":26574},{"Title":"Region", "Sum":5496337.0,"Quantity":23843,"Sessions":396},{"Title":"City", "Sum":4123251.0,"Quantity":17871,"Sessions":278}]
и т. Д. c
Json :
[{
"Title": "All",
"TicketSales": [{
"Sum": 0.0,
"Quantity": 0,
"Sessions": 0
}, {
"Sum": 2487443987.0,
"Quantity": 9247081,
"Sessions": 162973
}, {
"Sum": 371348351.0,
"Quantity": 1306966,
"Sessions": 26574
}, {
"Sum": 587094584.0,
"Quantity": 2184721,
"Sessions": 33953
}, {
"Sum": 553763164.0,
"Quantity": 2083403,
"Sessions": 34237
}, {
"Sum": 508663723.0,
"Quantity": 1910268,
"Sessions": 34208
}, {
"Sum": 466574165.0,
"Quantity": 1761723,
"Sessions": 34001
}]
}, {
"Title": "Region",
"TicketSales": [{
"Sum": 0.0,
"Quantity": 0,
"Sessions": 0
}, {
"Sum": 38523698.0,
"Quantity": 172381,
"Sessions": 2445
}, {
"Sum": 5496337.0,
"Quantity": 23843,
"Sessions": 396
}, {
"Sum": 9252616.0,
"Quantity": 41257,
"Sessions": 508
}, {
"Sum": 8705679.0,
"Quantity": 38891,
"Sessions": 514
}, {
"Sum": 7676393.0,
"Quantity": 34777,
"Sessions": 510
}, {
"Sum": 7392673.0,
"Quantity": 33613,
"Sessions": 517
}]
}, {
"Title": "City",
"TicketSales": [{
"Sum": 0.0,
"Quantity": 0,
"Sessions": 0
}, {
"Sum": 27080022.0,
"Quantity": 120689,
"Sessions": 1600
}, {
"Sum": 4123251.0,
"Quantity": 17871,
"Sessions": 278
}, {
"Sum": 6378203.0,
"Quantity": 28442,
"Sessions": 329
}, {
"Sum": 5920905.0,
"Quantity": 26271,
"Sessions": 330
}, {
"Sum": 5409078.0,
"Quantity": 24291,
"Sessions": 328
}, {
"Sum": 5248585.0,
"Quantity": 23814,
"Sessions": 335
}]
}]
JSON классы:
public class RootObject
{
public string Title { get; set; }
public List<TicketSale> TicketSales { get; set; }
}
public class TicketSale
{
public double Sum { get; set; }
public int Quantity { get; set; }
public int Sessions { get; set; }
}
public class Report
{
public string Title { get; set; }
public double Sum { get; set; }
public int Quantity { get; set; }
public int Sessions { get; set; }
}
Часть моего кода:
var finallReport = "";
var rootList = JsonConvert.DeserializeObject<List<RootObject>>(json);
var ticketSalesList = new List<TicketSale>();
var listOfReportList = new List<List<Report>>();
foreach (var r in rootList)
{
var reports = new List<Report>();
r.Title.Remove(1);
r.TicketSales.RemoveAt(0);
ticketSalesList = r.TicketSales;
foreach (var t in ticketSalesList)
{
reports.Add(new Report
{
Title = r.Title,
Sum = t.Sum,
Quantity = t.Quantity,
Sessions = t.Sessions
});
}
listOfReportList.Add(reports);
}
foreach (var element in listOfReportList)
{
finallReport = JsonConvert.SerializeObject(element).ToString();
Console.WriteLine(finallReport);
}
Я могу вывести каждый из них, но не могу объединить их! Или можно использовать другой метод, десериализовать json, используя другой метод, так чтобы нужные объекты были немедленно расположены вместе.