gpt4 book ai didi

asp.net-mvc-4 - MVC4 Web API 默认 JSON 序列化程序

转载 作者:行者123 更新时间:2023-12-04 05:48:31 24 4
gpt4 key购买 nike

我今天偶然发现了一些事情。以下是我的示例类。

public class Employee
{
public string Name{get;set;}
Public Department Dept {get;set;}
public IList<Roles> Roles;
}

public Department{
public string Name{get;set;}
}

public Role {
public string Name{get;set;}
}


sampleApiController : ApiContrller{
public IEnumerable<string> Get(){
return new List<string>{"Pavan", "Josyula"};
}
public Employee GetEmp(int id){

Employee e = new Employee();
e.Dept = "IT";
e.Name="Pav";
IList<Roles> r = new IListRoles();
r.Add(new Role{Name="Integrator"});
e.Roles = r;
return e;

}
}

现在,当我从我的浏览器调用这个 GetEmp 方法时,无论我在 AcceptHeaders 中的内容类型是什么,它总是以 JSON 格式给我响应。但是当我调用我的 Get 方法时,它返回 XML 格式的字符串集合,它也基于请求 header 中的接受动词起作用。有人可以告诉我自定义类型的这种默认 JSON 行为的原因吗?

最佳答案

这是因为 XmlSerializer 无法序列化 IList<T> .请阅读以下答案以获取更多详细信息:

  • Differences in content negotiation between collections and single values in MVC 4
  • 关于asp.net-mvc-4 - MVC4 Web API 默认 JSON 序列化程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10379043/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com