標籤:code 屬性 als ide sof new bsp 時間格式 javabean
雖然使用FastJSON來產生JSON資料非常簡單,但是我在實際使用過程中還是發現了一些值得注意的地方,比如說:之前寫過的JQuery解析FastJSON產生的JSON資料會出現的錯誤
今天我要記錄一下一些其他的注意點
將對象轉化為json字串時,如何過濾掉部分欄位?
方法一:
在JavaBean對象對應欄位前加註解,這樣產生的json也不包含該欄位
@JSONField(serialize=false) private String userName;
方法二:
在需要產生JSON的時候使用fastjson的過濾器
PropertyFilter profilter = new PropertyFilter(){ @Override public boolean apply(Object object, String name, Object value) { if(name.equalsIgnoreCase("age")){ //false表示age欄位將被排除在外 return false; } return true; } }; json = JSON.toJSONString(user, profilter); System.out.println(json);
我個人推薦使用第二種,雖然代碼多了些,但是如果出現該欄位有需要不進行過濾的情況,就不太靈活了
格式化日期時間
再將資料庫中的日期時間產生JSON的時候,可能會出現以毫秒或者是格式不一致的問題,應該如何指定使用的日期時間格式?就要使用@JSONField註解中的format屬性了
還是在JavaBean的日期時間欄位使用註解
//通過註解對日期轉化為JSON進行格式化 @JSONField (format="yyyy-MM-dd HH:mm:ss") private Date date;
FastJSON使用筆記