Generare un JSON dinamicamente in C#
In C#, con l'uso dei Dictionary, e possibile creare '"oggetti" dinamici che poi possono essere serializzati in JSON
da questo risultato
C#
// array con i risultati
List<object> results = new List<object>();
for (int r = 0; r < 4; r++)
{
// oggetto con tutte le proprieta/valore
Dictionary<string, object> p = new Dictionary<string, object>();
// popolo dinamicamente le proprietà/valore
for (int i = 0; i < 6; i += 2)
{
p.Add($"nameInt{i}", r * 10 + i);
p.Add($"nameString{i + 1}", $"valore={r * 10 + i}");
}
// aggiungo al risultato
results.Add(p);
}
// serializzo il risultato in una stringa JSON
var strOut = System.Text.Json.JsonSerializer.Serialize(results);
Console.WriteLine(strOut);
JSON
[
{"nameInt0":0,"nameString1":"valore=0","nameInt2":2,"nameString3":"valore=2","nameInt4":4,"nameString5":"valore=4"},
{"nameInt0":10,"nameString1":"valore=10","nameInt2":12,"nameString3":"valore=12","nameInt4":14,"nameString5":"valore=14"},
{"nameInt0":20,"nameString1":"valore=20","nameInt2":22,"nameString3":"valore=22","nameInt4":24,"nameString5":"valore=24"},
{"nameInt0":30,"nameString1":"valore=30","nameInt2":32,"nameString3":"valore=32","nameInt4":34,"nameString5":"valore=34"}
]