【问题标题】:MVC4 Web API Default JSON SerializerMVC4 Web API 默认 JSON 序列化器
【发布时间】:2012-04-30 05:50:11
【问题描述】:

我今天偶然发现了一些东西。以下是我的示例课程。

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 格式的字符串集合,它也基于请求标头中的接受动词。有人能告诉我自定义类型的这种默认 JSON 行为的原因吗?

【问题讨论】:

    标签: asp.net-mvc-4 asp.net-web-api


    【解决方案1】:

    这是因为 XmlSerializer 无法序列化 IList&lt;T&gt;。请阅读以下答案以获取更多详细信息:

    【讨论】:

      猜你喜欢
      • 2012-12-26
      • 1970-01-01
      • 2012-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-11
      • 2016-08-01
      相关资源
      最近更新 更多