C# 为JSON对象数组指定名称
我是JSON新手,我正在尝试使用Asp.NETWebAPI从SQLServer中的数据库获取数据 我的输出json数组如下所示: [{“f0”:9608,“f1”:1461,“frbDescField_F56”:“Jan”,“f2”:“1461”, “f3”:“179:48”}] 但是Json的输出应该类似于以下代码: {“餐厅”:[{ “f0”:9608,“f1”:1461,“frbDescField_F56”:“Jan”,“f2”:“1461”,“f3”:“179:48”}] 我的代码是:C# 为JSON对象数组指定名称,c#,asp.net,json,asp.net-web-api,C#,Asp.net,Json,Asp.net Web Api,我是JSON新手,我正在尝试使用Asp.NETWebAPI从SQLServer中的数据库获取数据 我的输出json数组如下所示: [{“f0”:9608,“f1”:1461,“frbDescField_F56”:“Jan”,“f2”:“1461”, “f3”:“179:48”}] 但是Json的输出应该类似于以下代码: {“餐厅”:[{ “f0”:9608,“f1”:1461,“frbDescField_F56”:“Jan”,“f2”:“1461”,“f3”:“179:48”}] 我的代码是:
public IEnumerable<VI_TimeTotalMontly> Get(int id, string id1)
{
using (tfmisEntities Entities = new tfmisEntities())
{
var result = Entities.VI_TimeTotalMontly.Where(e => e.F0 == id && e.F2 == id1).ToList();
return result;
}
}
公共IEnumerable Get(int-id,string-id1)
{
使用(tfmisEntities Entities=new tfmisEntities())
{
var result=Entities.VI_TimeTotalMontly.Where(e=>e.F0==id&&e.F2==id1.ToList();
返回结果;
}
}
如何更改代码?我将使用
动态对象包装您的结果:
dynamic output = new ExpandoObject();
output.restaurants = result;
return output;
您可以构建强类型匿名对象以匹配所需的输出。您还需要更改操作的返回类型,因为当您需要对象响应时,IEnumerable
只返回一个集合
public IHttpActionResult Get(int id, string id1) {
using (var Entities = new tfmisEntities()) {
var restaurants = Entities.VI_TimeTotalMontly
.Where(e => e.F0 == id && e.F2 == id1)
.ToList();
var result = new {
restaurants = restaurants;
};
return Ok(result);
}
}
这很好,但不完整。您还需要解释更改操作签名。我更喜欢这个答案,因为它不涉及运行时的操作,就像我们使用dynamic时一样。最好在编译时完成工作。除非您没有其他选择,否则请尝试使用此方法。