Go json包簡單教程

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

        Go產生json和解json資料都很簡單,通過官方的“encoding/json”包,調用json.Marshal( )產生資料,調用json.Unmarshal( )或json.NewDecoder.Decode( )解析資料。 

package mainimport ("encoding/json""fmt""io""os""strings")type Order struct {    Name string `json:name`    OrderItem []Item `json:item`    OrderRefund []Refund `json:refund`}type Item struct {    Name string `json:name`    Oid int    `json:oid`}type Refund struct {    Name string    `json:name`    Item    int    `json:item`    Content string `json:content`    Imgs    string `json:imgs`    Status  string `json:status`}// json轉結構體func jsonToStruct() {const jsonStream = `{"Id": 11, "Name": "a"}{"Id": 22, "Name": "b"}{"Id": 33, "Name": "c"}{"Id": 44, "Name": "d"}{"Id": 55, "Name": "e"}`dec := json.NewDecoder(strings.NewReader(jsonStream))for {var m Messageerr := dec.Decode(&m)if err == io.EOF {break} else if err != nil {fmt.Println(err)} else {fmt.Printf("%d: %s\n", m.Id, m.Name)}}}// 結構體轉jsonfunc structToJson() {var m Order    m.Name = "10010"    m.OrderItem = append(m.OrderItem, Item{Ono: "Shanghai_Hourse", Oid: 1})    m.OrderItem = append(m.OrderItem, Item{Ono: "Beijing_Hourse", Oid: 2})    for i := 1; i < 6; i++ {       str := []byte("Things")        str = strconv.AppendInt(str, int64(i), 10)       orderi := Item{Ono: string(str), Oid: i}       m.OrderItem = append(m.OrderItem, orderi)    }    bytes, _ := json.Marshal(m)    fmt.Printf("json:m,%s\n", bytes)}func main() {jsonToStruct()structToJson()}

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.