Вывести элементы с ответа от сервера. Приходит ответ от сервера.
{
"users": [
{
"id_lib": "53",
"name": "Никита",
"surname": "Шишин",
"group": "ПИН-151",
"date_of_taking": "2016-10-08",
"lib_card": "098-769",
"name_book": "Операционные системы - Флоренсов 2009 г."
},
{
"id_lib": "54",
"name": "Владислав",
"surname": "Павлюк",
"group": "ИВТ-152",
"date_of_taking": "2017-07-09",
"lib_card": "777-777",
"name_book": "Основы теории управления"
},
{
"id_lib": "55",
"name": "Виктор",
"surname": "Юрченко",
"group": "ПИ-151",
"date_of_taking": "2017-01-01",
"lib_card": "000-000",
"name_book": "Как закрыть 2"
}
]
}
И надо мне записать эти данные в DataGridView. Как это сделать?
Вот я пытаюсь сделать, в string json лежит пришедшие эти данные. Но пишет json не содержит определения для Count и не видит мои переменные id_lib, name и тд.
private void DataGridView(string json)
{
DataTable t = new DataTable();
t.Columns.Add("ИД");
t.Columns.Add("Имя");
t.Columns.Add("Фамелия");
t.Columns.Add("Группа");
t.Columns.Add("Дата выдачи");
t.Columns.Add("Номер билета");
t.Columns.Add("Название книги");
for (int i = 0; json.Count > i; i++)
{
t.Rows.Add(new object[] { json.id_lib[i], json.name[i], json.surname[i], json.group[i], json.date_of_taking[i], json.lib_card[i], json.name_book[i] });
dataGridView1.DataSource = t;
}
}
У строки json свойство Count означает количество содержащихся в ней символов. Но Вы же работаете не с символами!
Вы действуете слишком поспешно. Для того, чтобы JSON-строку преобразовать в массив каких-то объектов, недостаточно просто взять и пробежаться по ней в цикле. Нужно выполнить следующие шаги:
Сформировать класс. В нашем случае:
public class Rootobject
{
public User[] users { get; set; }
}
public class User
{
public string id_lib { get; set; }
public string name { get; set; }
public string surname { get; set; }
public string group { get; set; }
public string date_of_taking { get; set; }
public string lib_card { get; set; }
public string name_book { get; set; }
}
Сгенерировать код класса самостоятельно вы можете, если используете Visual Studio, через меню Правка -> Специальная вставка. Передайте туда содержимое JSON из буфера обмена.
Выполнить десериализацию объекта (привести его из вида, удобного для передачи) в вид, удобный для работы программиста. Как это делается, можно посмотреть здесь (вам нужен метод Deserialize)
Вывести объект(ы) для отображения.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть рабочий алгоритм MergeSortНужно модифицировать его так, чтобы он по совместительству находил и число инверсий в массиве
Пытаюсь убрать верхнюю строку с названием приложения и поменять тему с черной на белую с помощью параметра
Добрый день, столкнулся с HTML в рамках лабораторной работы, более легкие задания удалось выполнить, а здесь не понимаю, как связать нестандартный...
Пробная версия по написанию книг, в данном случае по языку JavaScriptПодробнее здесь: Как мы хотим начать писать Книги сообщества?