Delphi中JSON回车换行符转义

Delphi中JSON回车换行符转义,第1张

       Delphi使用json作为标准对接的时候,如果入参含有回车和换行符那么会破坏原json数据结构。导致服务端处理异常。这个时候就需要对输入的json字符串进行转义。

      首先Delphi中#13代表回车,#10代表换行。所以在转义的时候这2种情况都要考虑到。

比如原JSON字符串 stJson ,转义如下:

stJson:=StringReplace (stJson, #13 '\\r', [rfReplaceAll])

stJson:=StringReplace (stJson, #10 '\\n', [rfReplaceAll])

在解析JSON数据时,使用的v-html ,不能自己换行,因数据是pre标签写的,当不换行时,会截断数据,添加了一行这个代码,就可以正常显示

父级下 *{white-space: pre-wrap}

父级下 *{white-space: pre-wrap}

1

1

white-space:

所有值如下,可根据自己的需求选取:

normal 默认。空白会被浏览器忽略。

pre 空白会被浏览器保留。其行为方式类似 HTML 中的 pre:标签。

nowrap 文本不会换行,文本会在在同一行上继续,直到遇到标签为止。

pre-wrap 保留空白符序列,但是正常地进行换行。 使用的是这个

pre-line 合并空白符序列(多个空格合并成一个),但是保留换行符。

inherit 规定应该从父元素继承 white-space 属性的值。

仅供参考

1、先把String 转成JsonObejct,再把JsonObejct.toString()的记过保存,我感觉Json会自动转换格式,你可以尝试一下。

2、在你输入到文件的时候,手动在你需要换行的地方输出换行符 \n,这个就要看你自己的需要了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12079166.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存