gosn是Go語言中一個常用的解析json字符串的工具,它的使用非常簡單。
首先,我們需要引入gosn包:
import "github.com/bitly/go-simplejson"
接著,我們需要將json字符串轉換為simplejson對象,代碼如下:
jsonStr := `{"name": "Jack", "age": 18}` jsonObj, err := simplejson.NewJson([]byte(jsonStr)) if err != nil { panic(err.Error()) }
這樣,我們就得到了一個simplejson對象,可以通過以下方式獲取其中的值:
name := jsonObj.Get("name").MustString() age := jsonObj.Get("age").MustInt()
注意,這里的Get方法可以鏈式調用,比如:
address := jsonObj.Get("address").Get("city").MustString()
此時,如果"address"或"city"不存在,程序也不會拋出異常,而是返回一個默認值(""或0),避免了空指針異常的發生。
最后,我們可以將數據封裝在一個結構體中:
type Person struct { Name string `json:"name"` Age int `json:"age"` Address Address `json:"address"` } type Address struct { City string `json:"city"` Street string `json:"street"` } var person Person err := jsonObj.Unmarshal(&person) if err != nil { panic(err.Error()) } fmt.Println(person.Name) fmt.Println(person.Age) fmt.Println(person.Address.City)
需要注意的是,結構體中的字段名需要與json字符串中的鍵名一致,否則會解析失敗。
通過gosn解析json字符串,我們可以方便地處理json格式的數據。在實際的開發過程中,我們可以根據需求靈活運用gosn提供的各種方法,為程序開發提供便利。