在我的应用程序中,从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;
}
和我的模特
public class User
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public string Email { get; set; }
}
答案 0 :(得分:1)
如果要返回这种JSON,最好的方法是返回一个单独的模型,其中包含成功的指示和用户列表。
public class ResponseModel
{
public bool Success { get; set; }
public IEnumerable<User> Users { get; set; }
}
你的行动方法可能是这样的:
public ResponseModel GetUserList()
{
var response = new ResponseModel { Success = true, Users = userlist };
return response;
}
答案 1 :(得分:1)
如果您希望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;}
}
然后您必须将值映射到此结构。发布您的WebApi控制器代码以及您正在使用的DTO课程,您将更加清楚自己想要实现的目标。
答案 2 :(得分:0)
var input= [{"Id":1,"Name":"Nayas","Email":"nayas@gmail.com"},{"Id":2,"Name":"Ramesh","Email":"ramesh@gmail.com"}].
var output={}
output.success=true
output.users=input