bla
unknown
csharp
a year ago
2.1 kB
12
Indexable
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
public class PrizeDistribution
{
public string Id { get; set; }
public string Name { get; set; }
public List<PrizeStructureItem> PrizeStructureItems { get; set; }
}
public class PrizeStructureItem
{
public string Id { get; set; }
public int Ranking { get; set; }
public string Range { get; set; }
public string Percentage { get; set; }
}
public class Program
{
public static void Main()
{
string jsonData = @"[
{
""id"": ""fefa0da1-d80f-45fe-9ebc-d738482b8f53"",
""name"": ""prize_distribution_1 (2)"",
""prize_structure_items"": [
{""id"": ""dd042d0e-3d72-4949-9554-ff0cb13a516f"", ""ranking"": 1, ""range"": ""3-10"", ""percentage"": ""70.0""},
{""id"": ""3b44669c-b256-4eb1-953f-8b9048aff532"", ""ranking"": 2, ""range"": ""3-10"", ""percentage"": ""30.0""}
// Add other items as per your actual data...
]
}
]";
var distributions = JsonConvert.DeserializeObject<List<PrizeDistribution>>(jsonData);
var tableData = new Dictionary<string, List<string>>();
foreach (var distribution in distributions)
{
foreach (var item in distribution.PrizeStructureItems)
{
if (!tableData.ContainsKey(item.Range))
{
tableData[item.Range] = new List<string>();
}
// Ensure the list is correctly sized
while (tableData[item.Range].Count < item.Ranking)
{
tableData[item.Range].Add(null);
}
tableData[item.Range][item.Ranking - 1] = item.Percentage;
}
}
// Output or use the tableData as needed
foreach (var range in tableData)
{
Console.WriteLine($"Range: {range.Key}");
foreach (var percentage in range.Value)
{
Console.WriteLine($" {percentage}");
}
}
}
}
Editor is loading...
Leave a Comment