Go使用simple-json解析json数组字符串:以Harbor获取镜像tag为例
生活随笔
收集整理的這篇文章主要介紹了
Go使用simple-json解析json数组字符串:以Harbor获取镜像tag为例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
package mainimport ("encoding/json""fmt""io/ioutil""net/http"simplejson "github.com/bitly/go-simplejson"
)func main() {// 這里需要注意地址中/的轉義// 使用%252F轉義"/"url := "http://192.168.112.111:1903/api/v2.0/projects/test/repositories/zhangxueliang%252Fmyapp/artifacts"resp, err := http.Get(url)if err != nil {fmt.Println("報錯了")return}// 獲取到響應的response 注意:body為[]bytebody, _ := ioutil.ReadAll(resp.Body)// 定義map數組 用于json數組的轉換源 map的value是interface{}空接口var rr []map[string]interface{}// 進行反序列化json.Unmarshal(body, &rr)for _, v := range rr {// b是[]byteb, _ := json.Marshal(v)// 使用simple-json庫 操作起來更方便mapStr, err := simplejson.NewJson(b)if err != nil {panic(err)}// 獲取到key為tags的maptags, err := mapStr.Get("tags").Array()// fmt.Println(tags)for _, value := range tags {// fmt.Println(value["name"]) //會報錯// 要先使用斷言 否則報錯tagname, _ := value.(map[string]interface{})fmt.Println(tagname["name"])}}
}
總結
以上是生活随笔為你收集整理的Go使用simple-json解析json数组字符串:以Harbor获取镜像tag为例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux fedora安装simple
- 下一篇: gorm框架:user role用户角色