如何以特定格式从webapi获取json响应

如何以特定格式从webapi获取json响应,json,asp.net-web-api,Json,Asp.net Web Api,在我的应用程序中,从webapi返回的默认json结果如下- [{"Id":1,"Name":"Nayas","Email":"nayas@gmail.com"}, {"Id":2,"Name":"Ramesh","Email":"ramesh@gmail.com"}]. 我希望这是在以下格式 { "success": true, "users": [ {"id": 1, "name": 'Ed', "email": "ed@sencha.com"}, {"id

在我的应用程序中,从webapi返回的默认json结果如下-

 [{"Id":1,"Name":"Nayas","Email":"nayas@gmail.com"},   {"Id":2,"Name":"Ramesh","Email":"ramesh@gmail.com"}].
我希望这是在以下格式

 {
"success": true,
"users": [
    {"id": 1, "name": 'Ed',    "email": "ed@sencha.com"},
     {"id": 2, "name": 'Tommy', "email": "tommy@sencha.com"}
]
}
键值对

这是我的行动方法

public IEnumerable<User>GetUserList()
{ 
    return userlist;
}

如果您想返回这种JSON,最好的方法是返回一个单独的模型,其中包含成功的指示和用户列表

public class ResponseModel
{
    public bool Success { get; set; }
    public IEnumerable<User> Users { get; set; }
}

如果您希望Json的格式以某种方式,那么您所要做的就是确保您的C#(或您选择的.net语言)与您希望看到的内容相匹配

在您的示例中,Json:

 {
"success": true,
"users": [
    {"id": 1, "name": 'Ed',    "email": "ed@sencha.com"},
     {"id": 2, "name": 'Tommy', "email": "tommy@sencha.com"}
]
}
代表如下:

public class YourRootObjectName
{
  public bool Success {get;set;}
  public IEnumberable<User> Users {get;set;}
}

public class User
{
  public int Id {get;set;}
  public string Name {get;set;}
  public string Email {get;set;}
}
public类YourRootObjectName
{
公共bool成功{get;set;}
公共IEnumberable用户{get;set;}
}
公共类用户
{
公共int Id{get;set;}
公共字符串名称{get;set;}
公共字符串电子邮件{get;set;}
}

然后,您必须将您的值映射到此结构。将您的WebApi控制器代码以及数据发布到您正在使用的类中,您将更清楚地了解您要实现的目标。

您能否显示您的Web API的操作方法以及您要返回的模型的定义?公共类用户{[Key]public int Id{get;set;}公共字符串名称{get;set;}公共字符串电子邮件{get;set;}}public IEnumerableGetUserList(){return userlist}。我们可以用keyvalue将您的代码片段与您的问题配对吗。
public ResponseModel GetUserList()
{ 
    var response = new ResponseModel { Success = true, Users = userlist };
    return response;
}
 {
"success": true,
"users": [
    {"id": 1, "name": 'Ed',    "email": "ed@sencha.com"},
     {"id": 2, "name": 'Tommy', "email": "tommy@sencha.com"}
]
}
public class YourRootObjectName
{
  public bool Success {get;set;}
  public IEnumberable<User> Users {get;set;}
}

public class User
{
  public int Id {get;set;}
  public string Name {get;set;}
  public string Email {get;set;}
}