阿里的fastjson使用總結

2021-08-03 16:18:41 字數 1509 閱讀 3321

//查詢的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若想將巢狀物...