主頁 > 知識(shí)庫 > golang 實(shí)現(xiàn)json類型不確定時(shí)的轉(zhuǎn)換

golang 實(shí)現(xiàn)json類型不確定時(shí)的轉(zhuǎn)換

熱門標(biāo)簽:仙桃400電話辦理 湛江crm外呼系統(tǒng)排名 上海極信防封電銷卡價(jià)格 不封卡外呼系統(tǒng) 宿遷便宜外呼系統(tǒng)代理商 重慶慶云企業(yè)400電話到哪申請 寧波語音外呼系統(tǒng)公司 鄭州智能語音電銷機(jī)器人價(jià)格 地圖標(biāo)注免費(fèi)定制店

將json轉(zhuǎn)為結(jié)構(gòu)體時(shí),經(jīng)常會(huì)遇到無法確定某個(gè)字段類型的情況。在Go中可以使用interface 任意類型來解決。

// convert json to struct
// type uncertain
package main
import (
 "fmt"
 "encoding/json"
)
type Host struct {
 Id interface{}
 IdcId interface{}
}
func main() {
 b := []byte(`{"ID": 11, "IDCid": "1001"}`)
 m := Host{}
 err := json.Unmarshal(b, m)
 if err != nil {
 fmt.Println("Umarshal failed:", err)
 return
 }
 fmt.Printf("m:%#v\n", m)
}

output:

m:main.Host{Id:11, IdcId:”1001”}}

補(bǔ)充:gin bindJSON結(jié)構(gòu)體中有不確定類型的字段

結(jié)構(gòu)體中有不確定類型的字段,用interface{},BindJSON后根據(jù)輸入自動(dòng)存儲(chǔ)對應(yīng)類型,比如

type student struct {
 Name string   `json:"name"`
 Info interface{} `json:"info"`
}

比如,info的輸入

輸入

類型

12

float64

“str”

string

{"str":"value"}

map[string]interface {}

true

bool

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • Golang定時(shí)器的2種實(shí)現(xiàn)方法與區(qū)別
  • golang定時(shí)器和超時(shí)的使用詳解
  • Golang 定時(shí)器(Timer 和 Ticker),這篇文章就夠了
  • Golang Cron 定時(shí)任務(wù)的實(shí)現(xiàn)示例
  • golang 定時(shí)任務(wù)方面time.Sleep和time.Tick的優(yōu)劣對比分析

標(biāo)簽:物業(yè)服務(wù) 海南 電子產(chǎn)品 儋州 西雙版納 遼寧 安康 青海

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《golang 實(shí)現(xiàn)json類型不確定時(shí)的轉(zhuǎn)換》,本文關(guān)鍵詞  golang,實(shí)現(xiàn),json,類型,不確,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《golang 實(shí)現(xiàn)json類型不確定時(shí)的轉(zhuǎn)換》相關(guān)的同類信息!
  • 本頁收集關(guān)于golang 實(shí)現(xiàn)json類型不確定時(shí)的轉(zhuǎn)換的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章