Delphi使用json作为标准对接的时候,如果入参含有回车和换行符那么会破坏原json数据结构。导致服务端处理异常。这个时候就需要对输入的json字符串进行转义。
首先Delphi中#13代表回车,#10代表换行。所以在转义的时候这2种情况都要考虑到。
比如原JSON字符串 stJson ,转义如下:
stJson:=StringReplace (stJson, #13 '\\r', [rfReplaceAll]);
stJson:=StringReplace (stJson, #10 '\\n', [rfReplaceAll]);