第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在數(shù)組列表中保存[]byte數(shù)據(jù)

如何在數(shù)組列表中保存[]byte數(shù)據(jù)

Go
肥皂起泡泡 2023-08-14 16:58:17
總結(jié)一下問題我制作了一些從 toggl api 接收數(shù)據(jù)的應(yīng)用程序。我嘗試將 []byte 響應(yīng)數(shù)據(jù)保存在 Go 的數(shù)組列表中,以便稍后修改數(shù)據(jù)。我想知道如何翻譯此響應(yīng) []byte json 樣式數(shù)據(jù)并將其存儲(chǔ)為數(shù)組列表。顯示一些代碼主程序type togglData struct {}func GetTogglReports() []byte {    //some code    resp, err := client.Do(req)    if err != nil {        log.Fatal(err)    }    defer resp.Body.Close()    data, err := ioutil.ReadAll(resp.Body)    if err != nil {        log.Fatal(err)    }    return data}func makeSurveyText() {    // I want to save []byte data GetTogglReports() in array list here.    var togglData []togglData}數(shù)據(jù)是這樣的: {    "total_grand":36004000,    "total_billable":14400000,    "total_currencies":[{"currency":"EUR","amount":40}],    "data": [      {        "id":193009951,        "title":{"project":"Toggl Development","client":null},        "time":14400000,        "total_currencies":[{"currency":"EUR","amount":0}],        "items":[          {            "title":{"time_entry":"Hard work"},            "time":14400000,            "cur":"EUR",            "sum":0,            "rate":50          }        ]      },{        "id":null,        "title":{"project":null,"client":null},        "time":7204000,        "total_currencies":[],        "items":[          {            "title":{"time_entry":"No title yet"},            "time":1000,            "cur":"EUR",            "sum":0,            "rate":50          }        ]      }    ]  }
查看完整描述

1 回答

?
縹緲止盈

TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個(gè)贊

第一步將 JSON 轉(zhuǎn)換為 go 結(jié)構(gòu)。

type AutoGenerated struct {

? ? TotalGrand? ? ? int `json:"total_grand"`

? ? TotalBillable? ?int `json:"total_billable"`

? ? TotalCurrencies []struct {

? ? ? ? Currency string `json:"currency"`

? ? ? ? Amount? ?int? ? `json:"amount"`

? ? } `json:"total_currencies"`

? ? Data []struct {

? ? ? ? ID? ? int `json:"id"`

? ? ? ? Title struct {

? ? ? ? ? ? Project string? ? ? `json:"project"`

? ? ? ? ? ? Client? interface{} `json:"client"`

? ? ? ? } `json:"title"`

? ? ? ? Time? ? ? ? ? ? int `json:"time"`

? ? ? ? TotalCurrencies []struct {

? ? ? ? ? ? Currency string `json:"currency"`

? ? ? ? ? ? Amount? ?int? ? `json:"amount"`

? ? ? ? } `json:"total_currencies"`

? ? ? ? Items []struct {

? ? ? ? ? ? Title struct {

? ? ? ? ? ? ? ? TimeEntry string `json:"time_entry"`

? ? ? ? ? ? } `json:"title"`

? ? ? ? ? ? Time int? ? `json:"time"`

? ? ? ? ? ? Cur? string `json:"cur"`

? ? ? ? ? ? Sum? int? ? `json:"sum"`

? ? ? ? ? ? Rate int? ? `json:"rate"`

? ? ? ? } `json:"items"`

? ? } `json:"data"`

}

然后

  • 將 json 文件讀入字節(jié)數(shù)組,即使用http.NewRequest("GET", url, nil),client.Do(req)byte_array,err:=ioutil.ReadAll(resp.Body)

  • 使用makenew創(chuàng)建結(jié)構(gòu)體的實(shí)例

  • 將字節(jié)數(shù)組處理為結(jié)構(gòu)體實(shí)例json.Unmarshal(byte_array, &instance_of_struct)

然后您將擁有一個(gè)包含 JSON 數(shù)據(jù)的結(jié)構(gòu)


查看完整回答
反對 回復(fù) 2023-08-14
  • 1 回答
  • 0 關(guān)注
  • 168 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)