[英]JsonConvert.SerializeObject adds \r\n
所以目前我正在开发一个 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 中!
有人给我提示吗? 谷歌只是不会让我找到答案。
提前致谢!
正如 Brian Rogers 在评论中提到的,使用 JsonSerializerSettings Formatting = Formatting.None 属性:
JsonSerializerSettings jsonSettings = new JsonSerializerSettings
{
Formatting = Formatting.None
};
string jsonString = JsonConvert.SerializeObject(items,jsonSettings);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.