因此我目前正在使用WebAPI,运行时出现以下错误。
当我试图返回一个用JsonConvert.SerializeObject(object)序列化的List时,我的第二个属性(字符串JSON)被回车符和换行符掩盖了。
代码如下:
public class Template
{
public string Name;
public string JSON;
}
public HttpResponseMessage GetAll()
{
var items = db.GetTemplates().ToList<Template>();
var resp = new HttpResponseMessage()
{
Content = new StringContent(JsonConvert.SerializeObject(items),Encoding.UTF8,"application/json")
};
resp.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
return resp;
}
变更为:
Content = new StringContent(JsonConvert.SerializeObject(items.ToList<Template>()[0]),Encoding.UTF8,"application/json")
显示相同的错误
将代码更改为:
Content = new StringContent(JsonConvert.SerializeObject(items.ToList<Template>()[0].JSON),Encoding.UTF8,"application/json")
一切恢复正常...
在浏览器中签入,而不是在Visual Studio中签入!
有人能给我一个提示吗?谷歌就是不让我找到答案。
提前致谢!
1条答案
按热度按时间hi3rlvi21#
正如Brian Rogers在注解中提到的,使用JsonSerializerSettings的Formatting = Formatting. None属性: