//查詢的datetime日期格式資料, 需要使用阿里的fastjson註解,轉為字串展示
@jsonfield(format = "yyyy-mm-dd hh:mm:ss") // fastjson包使用註解
private date createtime;
微服務中(消費方呼叫rpc介面提供方) json資料的流**
一般在serviceimpl業務層呼叫rpc的restful介面,返回物件,來做自己的業務. 最後在自己的controller返回資料既可.
}
1.jackson是spring mvc內建的json轉換工具,
2.谷歌的gson(idea安裝的gsonformat外掛程式就是goole的,alt+s(可以格式化json,亦可將json生成實體類)) ,
3.阿里的fastjson(號稱是最快的json轉換)
1.關於轉為json字串 出現的 / 轉義字元 如何解決?
在@responsebody轉為json, 多出 // 轉義字元, 需要先parse() 再@responsebody轉為json字串
msg.success().add(json.parse(json.tojsonstring(resp)));
以下介紹阿里的fastjson的常用api:
1.物件 json.tojsonstring(user/list/map)最為常用,可以將vo,map,list轉為json格式的字串
3.反序列化:
vo vo = json.parseobject("jsonstring", vo.class);//反序列化前需要判斷jsonstring,為不為"",即一條記錄沒有,沒有的話,就不要反序列化了,否則fastjson會因為沒有記錄反序列化失敗而報錯.
hashmaphashmap = json.parseobject(jsonstring, hashmap.class);
listlist = json.parsearray(jsonstring, person.class);
json.parsearray的理解:
string jsonstring = [,], 通過json.parsearray(jsonstring, person.class);就可以將jsonstring反序列化為包含多個person物件的list集合
4.fastjson過濾不要要序列化的變數,在不需要序列化的成員變數的get方法上加如下註解
@jsonfield(serialize = false)
5.springmvc的@responsebody註解將物件轉為json,這裡在成員變數的get方法加如下註解,可以改變轉為json的名稱
@jsonfield(name = "sitekey") //原本返回的是小寫s的sitekey,加此註解後,返回的就是大寫s的sitekey
private string getsitekey()
關於fastjson使用總結
1 背景 專案需要從其他廠商中將資料轉接過來,存到自己的資料庫中,根據三方廠商提供的api介面文件來對接。2 實現 對於這種資料轉接的問題,就像usb轉接頭一樣,兩端的東西肯定是有差異,所以才需要中間這個協議來處理,自然對於資料庫的表結構,就需要加對映表來儲存兩者之間的關係,各種字段雖然不同,但是業...
fastjson簡單使用
fastjson 是阿里巴巴的開源專案 主要是操作json 與 自定義物件,map,list之間進行的轉換 以下給出了 6種轉換 都是我自己封裝的 一點渣水平,封裝的 方法可以直接拿去用 我都已經測試過的 1.json 轉換 自定義物件 string json user user json.pars...
fastjson 使用技巧
當你有乙個欄位是字串型別,裡面是json格式資料,你希望直接輸入,而不是經過轉義之後再輸出,這時使用jsondirect true引數,如 import com.alibaba.fastjson.annotation.jsonfield public static class model若想將巢狀物...