1. 報錯:
com.fasterxml.jackson.core.JsonParseException: Illegal unquoted character ((CTRL-CHAR, code 9)): has to be escaped using backslash to be included in string value at [Source: (PushbackInputStream); line: 2, column: 21]
2. 導致原因:
測試時是使用swagger測試接口的,下面的 bin 字段的值是復制過來的,bin 的值表面上看是有 空格 的存在,其實是一些 特殊字符, 刪除掉特殊字符就可以解決報錯了。
向接口中傳遞json如下
{
"bin": "B10-41-03 ", // 此字段值存在特殊字符問題導致的報錯
"equipment": "RF",
"invtype": "T",
"isrecount": 0,
"uname": "RFShuyy",
"whnum": "DA1H"
}
3. 總結:
字段的值中,若存在 JsonUtil 無法識別的 特殊字符 時,或是后台接收數據對象的數據結構與傳入json不一致導致的無法轉換,會出現該報錯。
只要仔細對照 接口中參數對象 及 傳入的json,就可以解決此bug