繁体   English   中英

JsonConvert.SerializeObject 添加 \\r\\n

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM