淺談FastJson的TypeReference用法


簡單描述:看同事提交的代碼,發現有一行代碼 似曾相識,但卻朦朦朧朧,ε=(´ο`*)))唉很明顯自己沒掌握唄,於是乎,就百度了一下

干貨:對進行泛型的反序列化,使用TypeReference可以明確的指定反序列化的類型,

代碼:

 //js代碼 將form表單里的各種元素里的值組裝成js對象,然后轉成json串,ajax傳遞給后台
 var planJson = JSON.stringify($("#addForm").serializeJson());

js調試結果:

//后台java代碼
String planJson = request.getParameter("planJson"); if (!Tools.isEmpty(planJson)) { Plan plan = JSON.parseObject(planJson, new TypeReference
<Plan>() { }); modelMap.addAttribute("plan", plan); }

說明:JSON.parseObject(planJson, new TypeReference<Plan>(){})是把字符串planjson轉化為相應的JSONObject對象,“鍵值對”形式,然后通過new TypeReference<Plan>(){ }匿名內部類來吧planjson的JSONObject轉化為Plan對象,注意一點,前台在做 $("#addForm").serializeJson() 處理的時候,form表單里還有許多隱藏域,不屬於plan對象本身的屬性,通過TypeReference只把屬於plan對象屬性的參數和值組裝成plan對象 (個人理解,歡迎指正)

后台debug調試,plan的值

 


免責聲明!

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



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