Как правильно отправить List<string[]> через json

156
09 июня 2019, 22:30

Подскажите пожалуйста! Имеется контроллер на asp.net в котором получаю список из базы данных, далее этот список надо отправить на мобильное приложение. на сервере:

        // POST: api/OT
        [HttpPost]
public List<string[]> Post([FromBody]string value)
        {
            var data = Data_ot();
            return data;
        }
 private List<string[]> Data_ot()
        //private Models.Temp[] Data_ot()
        {
            string connection_str = @"Data Source = tcp:XXX,xxx; Initial Catalog = testing_program; Persist Security Info = True; User ID = xxx; Password = xxx";
            SqlConnection sqlConnection = new SqlConnection(connection_str);
            sqlConnection.Open();
            string sqlquery = "Select People_for_edu.LastName,People_for_edu.Name, People_for_edu.FatherName,Result_testing.data_testing,Result_testing.correct_questions,Result_testing.not_correct_questions,topics.name_subject from People_for_edu,Result_testing,Topics Where (People_for_edu.id=Result_testing.id_people_for_edu)AND( Topics.Id=Result_testing.id_topic_of_testing)";
            SqlCommand sqlCommand = new SqlCommand(sqlquery, sqlConnection);
            SqlDataReader reader = sqlCommand.ExecuteReader();
            List<string[]> data = new List<string[]>();
            Models.Temp[] data_test= new Models.Temp[100];
            int k = 0;
            while (reader.Read())
            {
               // int i = 0;
                data.Add(new string[7]);
                   data[data.Count - 1][0] = reader[0].ToString();
                   data[data.Count - 1][1] = reader[1].ToString();
                   data[data.Count - 1][2] = reader[2].ToString();
                   data[data.Count - 1][3] = reader[3].ToString();
                   data[data.Count - 1][4] = reader[4].ToString();
                   data[data.Count - 1][5] = reader[5].ToString();
                   data[data.Count - 1][6] = reader[6].ToString();
                /*
                     data_test[i].familiya = reader[0].ToString();
                    data_test[i].name = reader[1].ToString();
                data_test[i].otch = reader[2].ToString();
                data_test[i].time = Convert.ToDateTime(reader[3].ToString());
                data_test[i].prav= Convert.ToInt32(reader[4].ToString());
                data_test[i].neprav = Convert.ToInt32(reader[5].ToString());
                data_test[i].tema = reader[6].ToString();*/
                   // i++;
                }
            reader.Close();
            sqlConnection.Close();
            return data;
           // return data_test;
        }

код клиента:

            private async void btn_click(object sender, System.EventArgs e)
            {
                Button button = (Button)sender;
                var data = await SendRequest(Url, "111");
                int i = 1;
            }
public async Task<string> SendRequest(string url, object body)
        {
            string data;
            using (var client = new HttpClient())
            {
                var content = new StringContent(JsonConvert.SerializeObject(body), Encoding.UTF8, "application/json");
                var result = await client.PostAsync(url, content);
              data = (await result.Content.ReadAsStringAsync());
                // byte[] test = await result.Content.ReadAsByteArrayAsync();
                // result.EnsureSuccessStatusCode();
               // string json = @"{""familiy"": null,""name"": null,""otch"": null,""time"": null,""prav"": null,""neprav"": null,""tema"": null }";
               //var  data1 = JsonConvert.DeserializeObject<string>(data);
                //List<Temp> data1 = JsonConvert.DeserializeObject<List<Temp>>(data);
                int i = 1;
               // data_ = data1;
            }
            return data;
        }

Данные приходят на клиент в виде: "[[\"Чернышов\",\"Алексей\",\"Викторович\",\"02.11.2018 0:00:00\",\"3\",\"7\",\"Работы на высоте \"],[\"Чернышов\",\"Алексей\",\"Викторович\",\"08.12.2018 0:00:00\",\"2\",\"8\",\"Горные работы \"],[\"Чернышов\",\"Алексей\",\"Викторович\",\"08.12.2018 0:00:00\",\"3\",\"7\",\"Горные работы \"]]"

а вот что делать дальше я не пойму, это мне нужно десериализвать данные или как получить возможность с ними дальше работать?

READ ALSO
Создание отчетов в reportviewer из хранимой процедуры

Создание отчетов в reportviewer из хранимой процедуры

Использую SQL Server 2014, VS 2017 Суть в том, что нужно по параметрам создавать отчеты, например, вывести какие-нибудь записи за указанный период времениЯ...

132
WPF приложение не видит новое окно

WPF приложение не видит новое окно

Я создал новое окно и хочу прописать показ формы через обработчик событий

111
Назначение ItemGroup с Compile=Remove в файле проекта

Назначение ItemGroup с Compile=Remove в файле проекта

В проекте aspnet core + entity framework core мне не очень нравится, как быстро пухнет папка миграций и я стал часто squash'ить (как в гите — не знаю точного термина)...

124
php: добавить данным из БД атрибуты микроразметки

php: добавить данным из БД атрибуты микроразметки

Второе в моей жизни "столкновение" с php сломало мой незрелый мозг гуманитарияПытаюсь добавить в скрипт, выводящий данные из БД в html, атрибуты...

174