亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從字節數組創建結構

從字節數組創建結構

Go
慕虎7371278 2021-12-20 17:07:13
我使用json.Marshal接口接受 amap[string]interface{}并將其轉換為 a []byte(這是一個字節數組嗎?)data, _ := json.Marshal(value)log.Printf("%s\n", data)我得到這個輸出{"email_address":"[email protected]","street_address":"123 Anywhere Anytown","name":"joe","output":"Hello World","status":1}底層字節屬于以下聲明的結構type Person struct {    Name           string  `json:"name"`    StreetAddress  string  `json:"street_address"`    Output         string  `json:"output"`    Status         float64 `json:"status"`    EmailAddress   string  `json:"email_address",omitempty"`}我想獲取data并生成一個類型的變量Person struct我怎么做?
查看完整描述

1 回答

?
小怪獸愛吃肉

TA貢獻1852條經驗 獲得超1個贊

你使用json.Unmarshal:


package main


import (

    "encoding/json"

    "fmt"

)


type Person struct {

    Name          string  `json:"name"`

    StreetAddress string  `json:"street_address"`

    Output        string  `json:"output"`

    Status        float64 `json:"status"`

    EmailAddress  string  `json:"email_address",omitempty"`

}


func main() {

    data := []byte(`{"email_address":"[email protected]","street_address":"123 Anywhere Anytown","name":"joe","output":"Hello World","status":1}`)

    var p Person

    if err := json.Unmarshal(data, &p); err != nil {

        panic(err)

    }

    fmt.Printf("%#v\n", p)

}

輸出:


main.Person{Name:"joe", StreetAddress:"123 Anywhere Anytown", Output:"Hello World", Status:1, EmailAddress:"[email protected]"}



查看完整回答
反對 回復 2021-12-20
  • 1 回答
  • 0 關注
  • 128 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號