C# ASP MVC如何使用变量名返回json
我有这个用户类C# ASP MVC如何使用变量名返回json,c#,json,C#,Json,我有这个用户类 public class User { public string name { get; set; } public string phone { get; set; } public string address { get; set; } } var users = new List<User>(){ new User(){ name = "Chriss", phone = "45096820",
public class User
{
public string name { get; set; }
public string phone { get; set; }
public string address { get; set; }
}
var users = new List<User>(){
new User(){
name = "Chriss",
phone = "45096820",
address = "xxx, street."
},
...
};
返回的json格式如下所示
"Users" :
{
"Chris" :
{
"phone" : "45096820",
"address" : "xxx, street."
},
"Jason" :
{
"phone" : "406980968",
"address" : "xxx, street"
}
}
通常,命名最外层JSON变量(可以说是根属性)的“诀窍”是创建一个具有该属性的匿名对象:
return Json(new { Users = users }, JsonRequestBehavior.AllowGet);
将返回具有一个数组属性(用户
)的对象
如果您需要一个JSON对象,该对象具有一个强>对象< /强>属性(<代码>用户< /代码>),该属性本身具有两个属性(<代码>克里斯< /代码>和<代码>杰森<代码> >),请考虑使用<代码>词典<代码>(密钥是用户名称),而不是<代码>列表> >:
var users=新字典
{
{“Chris”,新用户{phone=“45096820”,address=“xxx,street.”,
{“Jason”,新用户{phone=“406980968”,address=“xxx,street.”
};
Json.NET将按照所需的输出Json格式序列化字典。通常,命名最外层Json变量(可以说是根属性)的“诀窍”是创建一个具有该属性的匿名对象:
return Json(new { Users = users }, JsonRequestBehavior.AllowGet);
将返回具有一个数组属性(用户
)的对象
如果您需要一个JSON对象,该对象具有一个强>对象< /强>属性(<代码>用户< /代码>),该属性本身具有两个属性(<代码>克里斯< /代码>和<代码>杰森<代码> >),请考虑使用<代码>词典<代码>(密钥是用户名称),而不是<代码>列表> >:
var users=新字典
{
{“Chris”,新用户{phone=“45096820”,address=“xxx,street.”,
{“Jason”,新用户{phone=“406980968”,address=“xxx,street.”
};
Json.NET将按照所需的输出Json格式序列化字典。为了获得与所需完全相同的Json结构,您必须修改用户类,使其如下所示:
public class User
{
public string phone { get; set; }
public string address { get; set; }
}
(如果没有名称,名称将成为词典中的关键字)
并使用字典:
Dictionary<string, User> dictionary = new Dictionary<string, Controllers.User>();
dictionary.Add("Chris", new User() { phone = "45096820", address = "xxx, street" });
dictionary.Add("Jason", new User() { phone = "406980968", address = "xxx, street" });
return Json(new { Users = dictionary }, JsonRequestBehavior.AllowGet);
Dictionary Dictionary=newdictionary();
dictionary.Add(“Chris”,新用户(){phone=“45096820”,address=“xxx,street”});
添加(“Jason”,新用户(){phone=“406980968”,address=“xxx,street”});
返回Json(new{Users=dictionary},JsonRequestBehavior.AllowGet);
为了获得与您想要的完全相同的Json结构,您必须修改您的用户类,使其看起来像:
public class User
{
public string phone { get; set; }
public string address { get; set; }
}
(如果没有名称,名称将成为词典中的关键字)
并使用字典:
Dictionary<string, User> dictionary = new Dictionary<string, Controllers.User>();
dictionary.Add("Chris", new User() { phone = "45096820", address = "xxx, street" });
dictionary.Add("Jason", new User() { phone = "406980968", address = "xxx, street" });
return Json(new { Users = dictionary }, JsonRequestBehavior.AllowGet);
Dictionary Dictionary=newdictionary();
dictionary.Add(“Chris”,新用户(){phone=“45096820”,address=“xxx,street”});
添加(“Jason”,新用户(){phone=“406980968”,address=“xxx,street”});
返回Json(new{Users=dictionary},JsonRequestBehavior.AllowGet);
注意到名字了吗?名称标题不在结果中。@JeeShenLee现在您键入评论的速度比我更新答案的速度快。。)注意到名字了吗?名称标题不在结果中。@JeeShenLee现在您键入评论的速度比我更新答案的速度快。。)如果您有两个同名用户会发生什么情况?请注意,您显示的不是有效的JSON…如果您有两个同名用户会发生什么情况?请注意,您显示的不是有效的JSON。。。