使用 Json.Net 处理数据中的换行符

Posted

技术标签:

【中文标题】使用 Json.Net 处理数据中的换行符【英文标题】:Handling newlines in data with Json.Net 【发布时间】:2012-10-20 02:22:57 【问题描述】:

有什么方法可以处理 JSON.NET 中的换行符。我有一些数据通过回车换行返回,而 Json.Net 只是将其原始保留在返回值中。有没有办法强制 Json.Net 为 Json 进行编码。我认为默认情况下会发生这种情况,但对我来说并没有发生。也许我错过了其他东西。

如果这很重要,我在 MVC4 WebApi 项目中使用 Json.Net。

我的数据以字符串中的 \r\n 形式返回,例如

  "Keywords": "These are my keywords.\r\n\r\n\r\nThis is a second line...\r\n\r\nThis is a third line. ...\r\n\r\n\r\nThis is a 4th line ..."

据我了解,应该是 \\r\\n。我返回的数据可能有问题,但我只是想看看 JSON.NET 应该对此做什么。

【问题讨论】:

你的输入如何,你期望什么输出? 您能否详细说明“为 json 编码”是什么意思?根据 JSON 规范,返回包含 CRLF 的数据完全符合规定。 你有想过这个吗? 【参考方案1】:

您可以使用 Formatting.Indented 选项序列化您的对象。 像这样:

string yourJsonString = JsonConvert.SerializeObject(yourObject,  Formatting.Indented, new JsonSerializerSettings  );

我认为这应该可行。

问候。

【讨论】:

以上是关于使用 Json.Net 处理数据中的换行符的主要内容,如果未能解决你的问题,请参考以下文章

datstage处理文本文件中存在多余换行符的数据

如何使用已知的C#框架生成JSON Lines文件?

如何使用 C# 处理 CSV 文件中的换行符?

在iOS的JSON处理:去除换行符问题,怎么解决

在使用easyui,datagrid时,JSON中的如果含有换行符,则不能显示数据

用 XSLT 替换 XML 属性中的换行符