中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Go語言的JSON輸入(解碼)(反序列化)之struct存儲

發布時間:2020-06-14 03:50:39 來源:網絡 閱讀:288 作者:ck_god 欄目:編程語言
// code_031_json_unmarshal project main.go
package main

import (
    "encoding/json"
    "fmt"
)

//可以使用json.Unmarshal()函數將JSON格式的文本解碼為Go里面預期的數據結構。
//json.Unmarshal()函數的原型如下:
//    func Unmarshal(data []byte, v interface{}) error
//      該函數的第一個參數是輸入,即JSON格式的文本(比特序列)
//      第二個參數表示目標輸出容器,用于存放解碼后的值。
type IT struct {
    Company string   `json:"company"`
    Subject []string `json:"subjects"`
    IsOk    bool     `json:"isok"`
    Price   float64  `json:"price"`
}

func main() {
    //第一:反序列化,完整字段。
    // b為從前端接收的數據
    b := []byte(`{
    "company":"alibaba",
     "subjects":[
        "Go",
        "C++",
        "Python",
        "Test"
    ],
    "isok":true,
    "price":666.666
    }`)

    var t IT                     //聲明目標輸出容器,用于存放解碼后的值
    err := json.Unmarshal(b, &t) //調用函數,并傳遞兩個參數:JSON的比特序列,目標輸出的容器
    if err != nil {
        fmt.Println("json err:", err)
    }
    fmt.Println(t)

    //第二種:反序列化部分字段,如:Subjects字段。
    type IT2 struct {
        Subjects []string `json:"subjects"`
    }
    var t2 IT2
    err1 := json.Unmarshal(b, &t2)
    if err1 != nil {
        fmt.Println("json err:", err)
    }
    fmt.Println(t2)
}
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

株洲县| 喀什市| 贵港市| 达拉特旗| 宁化县| 东宁县| 霸州市| 伊宁市| 常宁市| 察隅县| 湘潭市| 道孚县| 秀山| 武陟县| 彭山县| 广灵县| 永城市| 库尔勒市| 阳曲县| 明水县| 吉安市| 连江县| 大丰市| 临汾市| 句容市| 新闻| 舟曲县| 普定县| 赤壁市| 泰宁县| 阿坝| 日土县| 诏安县| 偏关县| 剑川县| 泗洪县| 耒阳市| 贡山| 准格尔旗| 黔西县| 威信县|