当前位置:首页 > Web开发 > 正文

二、josn中传递‘\r‘

2024-03-31 Web开发

标签:

一、josn简易说明

   json是一种轻量级的数据交换格局,是一系列格局字符串。在数据交换中,经常会使用到,具有易读性,轻量级。很多处所会使用到,用处广泛。如下:(截取的一段json体)

"matchrule": { "tag_id": "2", "sex": "1", "country": "中国", "province": "广东", "city": "广州", "client_platform_type": "2", "language": "zh_CN" }

  想对json格局有更多了解,查阅相关文档。

二、josn中通报‘\r‘,‘\n‘呈现问题

  在通报‘\r‘,‘\n‘的json的字符串时,遇到了josn格局堕落。如下:

技术图片

  在网络中抓取传输的json体,通过格局化校验时报错。认为"RelNotes"的内容是不完整的。没有找到引号的另一半["]导致解析掉败。实际上是因为在箭头处遇到了换行符导致解析json掉败。

因此,我想在"RelNotes"中通报换行符,,但不能导致接收端解析掉败。这个怎么措置惩罚惩罚???

三、josn中措置惩罚惩罚带‘\r‘,‘\n‘换行符

  很明显‘\r‘,‘\n‘是特殊含义的字符,需要进行转义,需要在该字符前加上转义标记‘\’。在实际中,我也是这么措置惩罚惩罚的。问题很快解决失。

如下是我的措置惩罚惩罚方法:(这里有隐藏bug)

技术图片

  找到"\r\n",替换"\\r\\n",这边测试成果是可以的。但是隐藏了一个bug。

四、改削隐藏bug

  正常在我们测试是ok的,有同事出差到外地,发明这个成果还是有问题。抓包检察这里面还存在换行符。??? 想这怎么回事,明明措置惩罚惩罚过的,把"\r\n",替换成"\\r\\n"就可以了。???连忙百度搜下,哈哈。。。,终于知道了。本来换行符有问题。

  如下给出的说明:

技术图片

 最终改削方法:

技术图片

找到"\r",替换成"\\r","\n",替换成"\\n"。测试问题解决!!!

 由于那边电脑很有可能使用的是MAC,换行是"\r",导致json解析掉败。

五、问题总结

  适才开始解决换行时,没考虑这么多。就是"\r\n",替换成"\\r\\n"就可以了,其时测试也是没问题。特殊bug在,特殊情形下呈现时,后来解决时才发明,哦,问题本来是这样啊!也算加深了常识点。

技术图片

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/31622.html