c#以数组形式返回json结果
我正在制作一个WebApi应用程序,并试图让我的控制器返回数组中的Json对象结果 我希望我的响应格式如下:c#以数组形式返回json结果,c#,asp.net,arrays,json,visual-studio,C#,Asp.net,Arrays,Json,Visual Studio,我正在制作一个WebApi应用程序,并试图让我的控制器返回数组中的Json对象结果 我希望我的响应格式如下: [ { "stampCode": "666", "email": "666_doctor@gmail.com", "phone": "+370 640 000000", "healthCareProvider": "Jonavos poliklinika" } ] 但我的代码在当前状态下返回以下内容: { "stampCode": "666"
[
{
"stampCode": "666",
"email": "666_doctor@gmail.com",
"phone": "+370 640 000000",
"healthCareProvider": "Jonavos poliklinika"
}
]
但我的代码在当前状态下返回以下内容:
{
"stampCode": "666",
"email": "666_doctor@gmail.com",
"phone": "+370 640 000000",
"healthCareProvider": "Jonavos poliklinika"
}
当我自己尝试包含一个数组时,我的输出丢失了JSON对象,因此看起来是这样的:
[
"stampCode: 666",
"email: 666_doctor@gmail.com",
"phone: +370 640 000000",
"healthCareProvider: Jonavos poliklinika"
]
如何修复代码以获得所需的输出?我是一个编程新手,我真的很执着于此
这是我的密码:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Security.Claims;
using System.Web.Http;
using System.Web.Http.Results;
namespace DoctorWebService.Controllers
{
public class DataController : ApiController
{
[Authorize]
[HttpGet]
[Route("api/doctors")]
public JsonResult<object> Get(string doctorCode)
{
if (doctorCode == "666")
{
var identity = (ClaimsIdentity)User.Identity;
return Json<object>(new
{
stampCode = "666",
email = "666_doctor@gmail.com",
phone = "+370 640 000000",
healthCareProvider = "Jonavos poliklinika"
});
}
else
{
return Json<object>(new
{
notFound = 0
});
}
}
}
}
使用系统;
使用系统集合;
使用System.Collections.Generic;
使用System.Linq;
Net系统;
使用System.Net.Http;
使用System.Security.Claims;
使用System.Web.Http;
使用System.Web.Http.Results;
命名空间DoctorWebService.Controllers
{
公共类数据控制器:ApiController
{
[授权]
[HttpGet]
[途径(“api/医生”)]
public JsonResult Get(字符串doctorCode)
{
如果(doctorCode==“666”)
{
var identity=(ClaimsIdentity)User.identity;
返回Json(新的
{
stampCode=“666”,
email=“666_doctor@gmail.com",
phone=“+370 640000000”,
healthCareProvider=“Jonavos poliklinika”
});
}
其他的
{
返回Json(新的
{
未找到=0
});
}
}
}
}
您正在创建一个JSON对象,而不是JSON数组
,因此您得到的结果是正确的。
如果要返回JSON数组,需要返回如下内容:
new[]{
//obj1, obj2,obj3
}
结果将是对象的JSON数组
是的,您只是在创建一个新的匿名类型。不过,将其封装在数组中很容易:
return Json(new[] { new
{
stampCode = "666",
email = "666_doctor@gmail.com",
phone = "+370 640 000000",
healthCareProvider = "Jonavos poliklinika"
}});
但是,当您试图查找单个医生时,不清楚为什么要返回数组。如果我是一个API消费者,我会发现这相当令人困惑,我认为…Zapier(例如)需要一个数组