今天和異地的同事聯(lián)調(diào)接口,他把json參數(shù)用個(gè)人微信(釘釘則不會(huì)出現(xiàn)該問題)發(fā)給我,我在postman上面一直報(bào)錯(cuò),他就正常委造,很是無語,最后發(fā)現(xiàn)是因?yàn)槭褂梦⑿虐l(fā)送json數(shù)據(jù)均驶,空格被轉(zhuǎn)換了昏兆,如下所示:
問題描述
在使用postman發(fā)送請(qǐng)求時(shí)發(fā)現(xiàn)的一個(gè)問題。其中jsonA正常請(qǐng)求成功妇穴,jsonB請(qǐng)求就失敗爬虱。
# jsonA
{"datatime": "2023-06-29", "type": "aqi"}
#jsonB
{"datatime": "2023-06-29", "type": "aqi"}
原因分析:
發(fā)現(xiàn)是因?yàn)槭褂梦⑿虐l(fā)送json數(shù)據(jù),空格被轉(zhuǎn)換了腾它,如下所示:
#jsonA
\u007b\ua\u0020\u0020\u0020\u0020\u0022\u0070\u006c\u0061\u0063\u0065\u0049\u006e\u0066\u006f\u0049\u0064\u0022\u003a\u0022\u0031\u0022\ua\u007d
#jsonB
\u007b\ua\u00a0\u00a0\u00a0\u00a0\u0022\u0070\u006c\u0061\u0063\u0065\u0049\u006e\u0066\u006f\u0049\u0064\u0022\u003a\u0022\u0031\u0022\ua\u007d
在代碼對(duì)比工具中也可以看出空格的格式不同
可見 \u0020 轉(zhuǎn)換成了\u00a0跑筝。
如果出現(xiàn)這樣子相同的問題,使用postman的Beautify 格式化一下json瞒滴,就可以使用了曲梗。
關(guān)于空格的編碼
不間斷空格\u00A0,主要用在office中,讓一個(gè)單詞在結(jié)尾處不會(huì)換行顯示,快捷鍵ctrl+shift+space ;
半角空格(英文符號(hào))\u0020,代碼中常用的;
全角空格(中文符號(hào))\u3000,中文文章中使用;