Dinesh92d Ответов: 1

Как преобразовать объект в список


Привет это я получаю данные, как я могу преобразовать в список или DataTable после результата Json.

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

{"AuditPrm": [
  {
    "AuditId": 1,
    "AuditId": 7,
    "Remarks": "Test Cond",
    "UserId": 4
  },
  {
    "AuditId": 2,
    "AuditId": 7,
    "Remarks": "Test Cond",
    "UserId": 4
  }
]}


dynamic dynObj = JsonConvert.DeserializeObject(obj.ToString());
<pre> Audit empObj = JsonConvert.DeserializeObject<Audit>(dynObj); 


1 Ответов

Рейтинг:
1

#realJSOP

Вы можете использовать json2csharp.com чтобы преобразовать ваш json в объектную модель

  • Перейти к json2csharp.com
  • Мимо вашего JSON в коробке.
  • Нажмите кнопку Сгенерировать.
  • Вы получите код C# для вашей объектной модели
  • Десериализовать по

    using NewtonJson;
    ...
    var model = JsonConvert.DeserializeObject



Вот метод преобразования списка в базу данных:

public static DataTable ToDataTable<T>(List<T> items)
{
        DataTable dataTable = new DataTable(typeof(T).Name);

        //Get all the properties
        PropertyInfo[] Props = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance);
        foreach (PropertyInfo prop in Props)
        {
            //Setting column names as Property names
            dataTable.Columns.Add(prop.Name);
        }
        foreach (T item in items)
        {
           var values = new object[Props.Length];
           for (int i = 0; i < Props.Length; i++)
           {
                //inserting property values to datatable rows
                values[i] = Props[i].GetValue(item, null);
           }
           dataTable.Rows.Add(values);
      }
      //put a breakpoint here and check datatable
      return dataTable;
}


Dinesh92d

это будет нормально, но мне нужно перечислить или датировать. Как я могу его использовать

#realJSOP

Ну, я полагаю, вы бы преобразовали десериализованные данные в datatable. Я обновил свой ответ, включив в него метод, который нашел с помощью google (доступ к google бесплатный, вы должны попробовать).

Richard Deeming

Если вы используете последнюю версию Visual Studio (2012.2 или более позднюю), вам даже не нужен внешний сайт. Просто использовать Редактирование ⇒ вставить ⇒ вставить JSON в качестве классов:
"Вставить JSON как классы" в ASP.NET и веб-инструменты 2012.2 RC[^]

(Если он не появляется, убедитесь, что у вас есть ссылка на JSON.NET в вашем проекте.)