您可能有这样的事情:
public string GetFoobars(){ var foobars = ... return JsonConvert.SerializeObject(foobars);}在这种情况下,您要使用Json.NET将对象序列化为字符串,然后通过将结果作为字符串返回,API控制器会将字符串序列化为Javascript字符串文字,这将导致该字符串用双引号引起来并导致字符串中的任何其他特殊字符都以反斜杠转义。
解决方案是简单地自己返回对象:
public IEnumerable<Foobar> GetFoobars(){ var foobars = ... return foobars;}这将导致API控制器使用其默认设置来序列化对象,这意味着它将根据从客户端传入的参数将结果序列化为XML或JSON。
进一步阅读
- ASP.NET Web API中的JSON和XML序列化



