繁体   English   中英

从Web API返回JSON作为响应

[英]Return JSON as response from the Web API

我正在尝试查询SQL Server,并尝试以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);
}

您可以将records包装在匿名对象中

 return Ok( new {data = records} );

您需要在后端创建相同的模型,然后像这样填充

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.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM