Вернуть JSON как ответ от веб-API - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь запросить сервер SQL и пытаюсь вернуть ответ в формате JSON.Я могу получить ответ JSON, например

[
  {"R_ID":"368203","ROOM":"K2"}, 
  {"R_ID":"368203","ROOM":"K2"}
]

Но я хочу, чтобы ответ был обернут внутри данных, например

{
  "data": [
    {"R_ID":"368203","ROOM":"K2"}, 
    {"R_ID":"368203","ROOM":"K2"}
   ]
}

Так что теперь я изменил свой класс модели как

public class DatabaseResult
{
  public int r_id { get; set; }
  public string room { get; set; }
}

public class RootObject
{
  public List<DatabaseResult> data { get; set; }
}

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

connection.Open();
List<DatabaseResult> records = new List<DatabaseResult>();
using (var reader = command.ExecuteReader())
{
  while (reader.Read())
  {
    var row = new DatabaseResult
    {
      request_id = (int)reader["request_id"],
      room = (string)reader["room"],
    };
    records.Add(row);
  }
  return Ok(records);
}

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

Вы можете обернуть records в анонимный объект

 return Ok( new {data = records} );
0 голосов
/ 11 октября 2018

Вам необходимо создать ту же модель в своем бэкэнде и заполнить ее как

RootObject result = new RootObject();


 while (reader.Read())
 {
   var row = new DatabaseResult
   {
      request_id = (int)reader["request_id"],
      room = (string)reader["room"],
   };
   records.Add(row);
 }
 result.data = records;

, а затем вернуть result.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...