帶百分號的數據轉json


今天處理前后數據傳輸的時候遇到了問題。

前台拼參數是這樣寫的 '&rowData=' + JSON.stringify(rowData);
后台解析出的對象卻總是null,而且沒有拋ParseException,具體寫法如下:
 DifferenceReportItem item = JSON.parse(rowDataToSelect, DifferenceReportItem.class);
entity檢查了,沒有錯誤。
在debug后台接收的數據發現。后台接到的數據是這樣的
{"timelyRateName":" 合 計","should_be":"2181","real_be":"358","undelivered_exceeded":"1231","delivered_exceeded":"101","undelivered_unexceeded":"491","rate_be": "16.02,"reportKey":"category_report"},莫名其妙少了“,多了個空格,成了這樣 "rate_be":"16.0 2,
果斷懷疑是%的問題。於是前台做了如下處理:
        var rateBeStr = rowData.rate_be;
        rateBeStr = rateBeStr.substring(0,rateBeStr.length-1);
        rowData.rate_be = rateBeStr+ "%25";
解析完畢的json:{"timelyRateName":"合計","should_be":"2181","real_be":"358","undelivered_exceeded":"1231","delivered_exceeded":"101","undelivered_unexceeded":"491", "rate_be":"16.0%","reportKey":"category_report"}
OK,問題解決!
總結:JSON.stringify()函數處理串時會做轉碼,在有特殊符號的時候一定要注意轉換。
在java代碼中,把json解析成的對象為null而不報異常,就要看看串中是不是有特殊符號了。
歡迎留言說下遇到的其他特殊符號。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM