GoFasion:一個輕量級的具備鏈式調用風格的JSON資料解析庫

來源:互聯網
上載者:User
Gofasion是一個方便開發過程中介面JSON資料解析的輕量級解析庫,其最大的特點在於支援鏈式調用,也就是說不必預先定義好資料的結構就可以直接擷取到目標鍵名和索引值。### 開源[https://github.com/Anderson-Lu/gofasion](https://github.com/Anderson-Lu/gofasion)### 安裝```shellgo get github.com/Anderson-Lu/fasion/gofasion```### 快速開始```shellpackage mainimport ("github.com/Anderson-Lu/fasion/gofasion""fmt")//規則資料var testJson = `{"name":"foo","value":1,"second_level": {"name":2},"second_array":[1,2,3,4,5,6,7],"bool": true,"value64":1234567890}`//不規則資料var testJson2 = ` [ 1,2,"helloword",{"name":"demo"} ] `func main() {fsion := gofasion.NewFasion(testJson) //輸出 "foo"fmt.Println(fsion.Get("name").ValueStr()) //輸出 1 fmt.Println(fsion.Get("value").ValueInt()) //輸出 {\"name\":\"foo\",\"value\":1...} fmt.Println(fsion.Json())i32 := fsion.Get("value").ValueInt32()fmt.Println(i32)i64 := fsion.Get("value64").ValueInt64()fmt.Println(i64)second_fson := fsion.Get("second_level")fmt.Println(second_fson.Get("name").ValueStr()) // 數組資料的遍曆second_array := fsion.Get("second_array").Array()for _, v := range second_array {fmt.Println(v.ValueInt())}boolVal := fsion.Get("bool").ValueStr()fmt.Println(boolVal) //不規則資料的解析fsion2 := gofasion.NewFasion(testJson2)elems := fsion2.Array()fmt.Println(elems[0].ValueInt())fmt.Println(elems[1].ValueInt())fmt.Println(elems[2].ValueStr())fmt.Println(elems[3].Json()) //傳統結構體解析var iter struct {Name string `json:"name"`Value int `json:"value"`}fsion.Value(&iter)fmt.Println(iter.Name)fmt.Println(iter.Value)}```### 版本`v1` 基礎版本,提供常用的準系統### 貢獻歡迎大家提出寶貴issue,也可以提交合并請求,希望能做一款讓所有golang開發人員收益的開源庫。### 許可MIT Licence97 次點擊  ∙  1 贊  
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.