go 的 json 標準庫有接班人了
json.Unmarshal
替換成 jsoniter.Unmarshal
json.Marshal
替換成 jsoniter.Marshal
所有的行為和標準庫都一模一樣
- 無需程式碼生成,基於高速的反射實現。因為快取了型別資訊,比標準庫的反射要快很多。
- 支援所有的
json:"field"
tag 標記 - 支援 json.Marshaler 和 json.Unmarshaler 自定義擴充套件
- 支援 json.Number
- 支援 json.RawMessage
- 修正了所有之前和標準庫不相容的地方(比如欄位名,是否預設支援private成員等)
除了把 json 換成 jsoniter,什麼都不需要改。再也不用 easyjson 這樣的程式碼生成的庫來加速json的編解碼了。
github地址:https://github.com/json-iterator
相關文章
- Go標準庫ContextGoContext
- 標準庫~JSON物件詳解JSON物件
- Go標準庫:Go template用法詳解Go
- go語言標準庫 - timeGo
- go語言標準庫 - strconvGo
- go語言標準庫 - regexpGo
- go語言標準庫 - logGo
- Go標準庫flag包的“小陷阱”Go
- 什麼?修改 JSON 內容居然還有個 JSON PATCH 標準JSON
- Go 標準庫 —— sync.Mutex 互斥鎖GoMutex
- Go標準庫所有方法使用例子Go
- Go 的 golang.org/x/ 系列包和標準庫包有什麼區別?Golang
- Go net/http 標準庫思維導圖GoHTTP
- go標準庫-log包原始碼學習Go原始碼
- Go Web學習 -標準庫 net/http 使用GoWebHTTP
- Go 創始人 Rob Pike 反對在 Go 1.18 標準庫中引入泛型支援:建議不要改動 Go 1.18 中的標準庫Go泛型
- C++標準庫有四種智慧指標C++指標
- Go 標準庫之 GoRequests 介紹與基本使用Go
- Python常用標準庫(pickle序列化和JSON序列化)PythonJSON
- Go 常用標準庫之 fmt 介紹與基本使用Go
- Go標準包—http clientGoHTTPclient
- Go語言中JSON標籤的用法與技巧GoJSON
- C++標準庫、C++標準模版庫介紹C++
- Go標準包——net/rpc包的使用GoRPC
- 標準化/結構化 JSON 輸出JSON
- 是誰在Go標準庫的原始碼中植入了色情網站?Go原始碼網站
- Go標準包-http包serverGoHTTPServer
- 標準庫之template
- python常用標準庫Python
- C++標準庫C++
- 一個非常棒的Go-Json解析庫GoJSON
- Rust的標準庫為啥很小?Rust
- 標準庫 fmt 包的基本使用
- Go 標準庫 http.FileServer 實現靜態檔案服務GoHTTPServer
- Python標準庫(待續)Python
- python標準庫目錄Python
- golang標準庫之 fmtGolang
- C++標準庫:chronoC++
- C++標準庫:randomC++random