Golang之gjson
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                Golang之gjson
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                gjson主要用于從string和[]byte里取json數據。
對于interfacele{}類型,要先強制轉換為[]byte或string再用gjson,其實單層json下不如直接強轉為map,多層考慮用gjson。
gjson的path寫法 ?mirror.region.regions.#.cluster_name把regions切片里的cluster_name字段取出來組成一個切片。
import "fmt" import "github.com/tidwall/gjson" const json = `{"name":[{"first":"Janet","last":"Prichard"}, {"abc": 1, "e" : 2}],"age":47}`var jsonInterface interface {}func main() {// 1、把string轉result,再取數據gjson.Parse(json).Get("name")// 2、把[]byte轉result,再取數據gjson.ParseBytes([]byte(json)).Get("name")// 3、從string格式的json直接取數據v := gjson.Get(json, "name")// 4、interface{}要先強制轉換為[]byte或string,再用gjson的三種方法(單層不如直接強轉為map,多層考慮用gjson)gjson.Parse(jsonInterface.(string)).Get("name")gjson.ParseBytes(jsonInterface.([]byte)).Get("name")gjson.Get(jsonInterface.(string),"name")if v.String() == "" {fmt.Println("nil")} else {fmt.Println(v.String())fmt.Println(v.Type)} }總結
以上是生活随笔為你收集整理的Golang之gjson的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 程序员看《长安十二时辰》的正确姿势~!
 - 下一篇: Golang之零值