go解析Prometheus的資料

2021-09-23 01:33:47 字數 2398 閱讀 2554

訪問乙個api, 返回如下資料:

,"values":[[1473820558.361,"28765"],[1473820573.361,"28768"],[1473820588.361,"28772"],[1473820603.361,"28776"],[1473820618.361,"28780"],[1473820633.361,"28783"],[1473820648.361,"28786"],[1473820663.361,"28790"],[1473820678.361,"28793"],[1473820693.361,"28796"],[1473820708.361,"28799"],[1473820723.361,"28802"],[1473820738.361,"28806"],[1473820753.361,"28809"],[1473820768.361,"28817"],[1473820783.361,"28829"],[1473820798.361,"28832"],[1473820813.361,"28858"],[1473820828.361,"28862"],[1473820843.361,"28867"],[1473820858.361,"28873"]]}]}}

js,err:=******json.newjson(body)

iferr!=

nil

//解析陣列

arr,_:=js.get("data").get("result").getindex(0).get("values").array()
length:=

len(arr)

fori:=

0;i訪問乙個api, 返回如下資料:

}}

需要解析 600570.ss 後的json資料,用了 ******json包

js, err := ******json.newjson(byte(str))

check(err)

arr, _ := js.get("data").get("trend").get("600570.ss").array()

可是對返回的arr資料,用了18般武藝都解析不了。 arr型別理論是乙個inte***ce{}型別,但是裡面又包含了四組資料,對於這類json資料,網上文件都沒有解析的方法。 反覆嘗試後,用reflect.type 測試了下,發現系統把arr 認定為[]inte***ce 型別,於是型別斷言後,遍歷。 這回可以把裡面資料分拆開了,系統又把裡面的資料判斷為 json.number資料型別。 然後就沒有然後了.... 經過這一番摸索,對於空介面、型別斷言,json包內部的一些設定有了更深的理解:空介面就是因為它靈活,所以在使用時要經過一系列的判斷。

上**:

go語言解析yaml

關於yaml語法網路上的資料非常多,不做特別整理。個人理解yaml主要是切片 map等資料結構的一種比較容易解讀的格式。go get gopkg.in yaml.v2hostname sunny addr 127.0.0.1 logs name business logpath home work ...

go語言解析html

有兩個不錯的庫 乙個是html是html的解析器,把html文字解析出來,goquery基於html包,在此基礎上結合cascadia 包 乙個css選擇器工具 實現類似於jquery的功能,操作html非常方便。使用goquery來查詢,選擇相應的html節點,但如果要對選擇的節點進行修改,刪除操...

go基礎 xml解析

一 簡介 xml是一種進行資料交換和資訊傳遞的一種格式,在web後端開發使用非常普遍,下面介紹go語言解析xml的方法。二 1.將xml解析為物件 grace r.emlinfullname example inc.company where home gre example.comaddr ema...