昨晚寫項目時發現一個bug,新聞列表點擊進入詳情時,有的能進入,有的不能進入
開始以爲是爬蟲出了問題,檢查數據庫發現有數據,但是long類型的id相差1
繼而檢查是否orm框架的問題,因爲用的是小衆的anima框架,debug發現ok
進而度娘告訴我是long類型轉json時精度丟失
- jfinal測試代碼(使用jfinal的FastJsonFactory)
public class TestController extends Controller {
public void index(){
Map map = new HashMap();
map.put("id",12345678912345677L);
renderJson(map);
}
}
- 結果
{
"id": 12345678912345676
}
- 解決方案(請引入fastjson依賴,jackson使用別的註解)
@JSONField(serializeUsing = ToStringSerializer.class)
private Long id;