во-первых, ваш JSON неправильный, я ожидал бы, что он тоже будет больше похож на
string data = @"[{""InputType"":12,""EngineSubType"":2,""Filename"":""targetFile.csv"",""FileExtensionType"":"".csv"",""IsLoadFile"":true,""LoadContextId"":4120,""ReportingDate"":""2019-05-31T00:00:00"",""IsSuccess"":false}]"
или
string data = "[{\"InputType\":17,\"EngineSubType\":4,\"Filename\":\"targetFile.csv\",\"FileExtensionType\":\".csv\",\"IsLoadFile\":true,\"LoadContextId\":4121,\"ReportingDate\":\"2019-05-31T00:00:00\",\"IsSuccess\":false}]"
секунду, когда вы завернули JSON в [], это означает список документов, поэтому Deserialize<HangfireTestDTO>(data);
будет Deserialize<List<HangfireTestDTO>>(data);
или каким-либо другим IEnumerable
, тогда у вас будет несколько несовпадений данных 12 - это число, а не строка, поэтому InputType должен быть целым или двойным, IsSuccess - это логическое значение, et c
наконец, в вашем JSON есть много полей, которые не находятся на вашем объекте, вам нужно объяснить c#, что с ними делать, либо создать дополнительные свойства, либо предоставить KeyValue сохранить его можно поместить в ie
[JsonExtensionData]
public Dictionary<string, object> ExtensionData { get; set; }
РЕДАКТИРОВАТЬ после комментария, который вы сделали, если это действительно, как данные поступают в вашу БД, то это массив строк, где строки кодируются JSON
, в этом случае вам нужно будет прочитать строки, а затем проанализировать их после
var jsonlist = JsonSerializer.Deserialize<List<string>>(data);
foreach(string json in jsonlist )
var dto = JsonSerializer.Deserialize<HangfireTestDTO>(json);