如何序列化长字符串并保持格式?

时间:2015-03-10 12:12:00

标签: c# json serialization json.net http-post

我有一个控制台应用程序,并通过POST方法将一个字符串内容(你可以说很长的评论)写入LiquidPlanner评论。我有一个长字符串有一些HTML标签,并维护如下格式。

Real time data during debugging from text visualizer, you can see formatted comment i am getting.

当我通过JsonConvert.SerializeObject进行序列化时,那个注释的格式化正在打破并在另一侧写为乱码文本,如下所示。

Here you can see after serialization its going messy, no formatting is maintained.

我尝试了以下链接,但没有帮助。 Link for serialization

如何序列化完全相同?有什么办法请尽快告诉我,谢谢你。

1 个答案:

答案 0 :(得分:0)

错误原因: 我解决了这个问题,实际上在原始字符串中发生了什么,你可以看到新行,所以当这个字符串传入字符串变量然后.Net环境把\ r \ n放在每一个新行上,当我从newton.json库序列化它在\ r和\ n(\\ r \\ n)中添加一个斜杠,所以当我在LiquidPlanner中POST字符串时,LiquidPlanner无法解释(\\ r \\ n)并以非格式化方式写入文本。

错误解决方案 我做了什么,我使用正则表达式并将序列化字符串中的\\ r \\ n替换为带有标签并发布,这对我有用。

string.Join("<br/>", System.Text.RegularExpressions.Regex.Split(createCommentJson, @"(?:\\r\\n|\\n|\\r)"));

并以格式化方式发布。 :)