adhikar patil Ответов: 1

Как преобразовать объект JSON в объект DataTable в ASP.NET основной


Привет,
Я хочу преобразовать объект Json в DataTable. У меня есть json файл для вставки массовых данных в таблицу с помощью SqlBulkCopy

string contentRootPath = _appSettings.MasterJsonPath;

 var folderDetails = Path.Combine(Directory.GetCurrentDirectory(),$"wwwroot\\{"MasterData\\masterdata.json"}");
               var JSON = System.IO.File.ReadAllText(folderDetails);
               dynamic jsonObj = Newtonsoft.Json.JsonConvert.DeserializeObject(JSON);
               var response = 0;



               DataTable dt = (DataTable)jsonObj["M203StructureKind"].AsDataReader();

               SqlBulkCopy bulk = new SqlBulkCopy("Data Source = DESKTOP-JENGCSC;
               Initial Catalog=BdsDb; Integrated Security=True;");
               bulk.DestinationTableName = "M203StructureKind";
               bulk.WriteToServer(dt);


Что я уже пробовал:

<pre> string contentRootPath = _appSettings.MasterJsonPath;

  var folderDetails = Path.Combine(Directory.GetCurrentDirectory(),$"wwwroot\\{"MasterData\\masterdata.json"}");
                var JSON = System.IO.File.ReadAllText(folderDetails);
                dynamic jsonObj = Newtonsoft.Json.JsonConvert.DeserializeObject(JSON);
                var response = 0;
            
              
                
                DataTable dt = (DataTable)jsonObj["M203StructureKind"].AsDataReader();

                SqlBulkCopy bulk = new SqlBulkCopy("Data Source = DESKTOP-JENGCSC; 
                Initial Catalog=BdsDb; Integrated Security=True;");
                bulk.DestinationTableName = "M203StructureKind";
                bulk.WriteToServer(dt);


Так что я получаю исключение вроде
Cannot convert type 'Newtonsoft.Json.Linq.JArray' to 'System.Data.DataTable
при преобразовании объекта json в datatable

1 Ответов

Рейтинг:
2

RickZeeland

Смотрите ответ здесь: JSON object to Datatable в C# - переполнение стека[^]