Десериализовать JSON-ответ и запись в базу данных
Привет, я использую родную библиотеку Microsoft вместо Newtonsoft (я не могу использовать Newtonsoft, так как приложение, которое мы используем, не поддерживает сторонние библиотеки paty) для анализа ответа json и записи в базу данных. Я застрял с тем, как анализировать json.
Ошибка, которую я получаю, такова
Цитата:оператор foreach не может работать с переменными типа RootObject, поскольку RootObject не содержит открытого определения для GetEnumerator
Не могли бы вы меня проводить?
Что я уже пробовал:
public class RootObject { public string Id { get; set; } public string Code { get; set; } public string Description { get; set; } } string cities; cities = getCities(); JavaScriptSerializer oJS = new JavaScriptSerializer(); RootObject oRootObject = new RootObject(); oRootObject = oJS.Deserialize<RootObject>(cities); string connectionString = @"Data Source=server\SQLEXPRESS;Initial Catalog=TestDB;Integrated Security=SSPI;"; string sqlTable = "test"; foreach (var city in oRootObject) //foreach statement cannot operate on variables of type RootObject because RootObject does not contain a public definition for GetEnumerator { using (SqlConnection sc = new SqlConnection(connectionString)) { sc.Open(); using (SqlBulkCopy sbc = new SqlBulkCopy(sc)) { sbc.DestinationTableName = sqlTable; sbc.BatchSize = dt.Rows.Count; sbc.BulkCopyTimeout = 0; sbc.ColumnMappings.Add("Id", "Id"); sbc.ColumnMappings.Add("Code", "Code"); sbc.ColumnMappings.Add("Description", "Description"); sbc.WriteToServer(dt); } } }
формат JSON
[ { "Id": "1", "Code": "Man", "Description": "Manchester" }, { "Id": "2", "Code": "Lon", "Description": "London" } ]
Member 12586110
Спасибо всем за ваш ответ. Я все еще можете получить тайную строку JSON в качестве пользовательской .чистый объект. Я буду продолжать работать над этим и держать вас в курсе, как я исследую больше.
С уважением