Возможно, самым простым способом будет использование:
https://github.com/ukushu/DataExporter
, особенно в случае вашего данные datatable, содержащие символы /r/n
или разделитель внутри ваших ячеек dataTable.
вам нужно только написать следующий код:
Csv csv = new Csv("\t");//Needed delimiter
var columnNames = dt.Columns.Cast().
Select(column => column.ColumnName).ToArray();
csv.AddRow(columnNames);
foreach (DataRow row in dt.Rows)
{
var fields = row.ItemArray.Select(field => field.ToString()).ToArray;
csv.AddRow(fields);
}
csv.Save();
Я думаю, что предварительный ответ был верным, но нужно провести кастинг, так что попробуйте это
//Deserialize the JSON data
var notification = JsonConvert.DeserializeObject<Notification>(apiContent);
List<Post> posts = new List<Post>();
if (notification?.posts != null){
foreach(var item in notification.posts.Values){
posts.AddRange(item);
}
}
var _schoolNotification = new ObservableCollection<Post>(posts);
Я предлагаю запустить ваш ответ JSON через jsonutils.com и использовать этот сгенерированный класс в качестве модели на этапе десериализации. Обычно это дурак и устраняет потенциальную человеческую ошибку при попытке вручную определить классы.