Guten Morgen zusammen!
Ich spiele gerade etwas mit Firebase rum und versuche gerade eine von Firebase erstellte JSON Datei in CSV zu konvertieren. Allerdings hat die JSON Datei ein recht ungewöhnliches Format und ich beiße mir daran die Zähne aus:
{
"-MQJvfjVAiEiMCYmIVB3" : {
"CorrectAnswers" : 9,
"GiveTime" : false,
"ID" : 10,
"ItemsPerSecond" : 0.224,
"JustNewPLUs" : false,
"ListID" : 0,
"MaxPLU" : 2002,
"MinPLU" : 57,
"PLUListeID" : "PLUsToLearn",
"Passed" : false,
"Percent" : 45.0,
"Points" : 40,
"Querys" : 20,
"TimeInSeconds" : 89,
"TimeOfTesting" : "2021.01.06 - 00:41",
"Timekeeping" : false,
"doTimekeeping" : false
},
"-MQJw7XYVf0QgmlY4kjT" : {
"CorrectAnswers" : 10,
"GiveTime" : false,
"ID" : 11,
"ItemsPerSecond" : 0.229,
"JustNewPLUs" : false,
"ListID" : 0,
"MaxPLU" : 2399,
"MinPLU" : 1,
"PLUListeID" : "049.005.003",
"Passed" : false,
"Percent" : 50.0,
"Points" : 114,
"Querys" : 20,
"TimeInSeconds" : 87,
"TimeOfTesting" : "2021.01.06 - 00:43",
"Timekeeping" : false,
"doTimekeeping" : false
},
"-MQJwUSCG9BvNjif3R4_" : {
"CorrectAnswers" : 10,
"GiveTime" : false,
"ID" : 12,
"ItemsPerSecond" : 0.27,
"JustNewPLUs" : false,
"ListID" : 0,
"MaxPLU" : 2399,
"MinPLU" : 291,
"PLUListeID" : "049.005.003",
"Passed" : false,
"Percent" : 50.0,
"Points" : 94,
"Querys" : 20,
"TimeInSeconds" : 74,
"TimeOfTesting" : "2021.01.06 - 00:45",
"Timekeeping" : false,
"doTimekeeping" : false
}
}
Der Hashcode beispielsweise "MQJw7XYVf0QgmlY4kjT" wird von Firebase erstellt und ist für mich nicht relevant.
Die Objekte, die erstellt werden sollen, sind vom Typ "Test":
public class Test
{
public int CorrectAnswers { get; set; }
public bool GiveTime { get; set; }
public int ID { get; set; }
public double ItemsPerSecond { get; set; }
public bool JustNewPLUs { get; set; }
public string ListID { get; set; }
public int MaxPLU { get; set; }
public int MinPLU { get; set; }
public string PLUListID { get; set; }
public bool Passed { get; set; }
public double Percent { get; set; }
public int Points { get; set; }
public int Querys { get; set; }
public int TimeInSeconds { get; set; }
public DateTime TimeOfTesting { get; set; }
public bool Tiomekeeping { get; set; }
public bool doTimekeeping { get; set; }
}
ich habe schon verschiedene Ansätze ausprobiert, beispielseise Helfererklassen erstellt:
public class RootObject
{
public List<Helper> PoolData { get; set; }
}
public class Helper
{
public string ID { get; set; }
public Test _Test { get; set; }
}
aber nichts führt zu Erfolg, entweder Fehlermeldungen, oder ein leeres RootObject.
Mit folgendem Code lese ich das File ein:
string json = System.IO.File.ReadAllText(@"C:/Projects/file.json");
var tmp = JsonConvert.DeserializeObject<RootObject>(json);
Vielleicht kann mir ja jemand auf die Sprünge helfen.
Vielen Dank schonmal!