這篇文章主要為大家展示了“Go中結構體、數(shù)組、字典和json的字符串如何相互轉換”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Go中結構體、數(shù)組、字典和json的字符串如何相互轉換”這篇文章吧。
創(chuàng)新互聯(lián)公司主要從事網(wǎng)頁設計、PC網(wǎng)站建設(電腦版網(wǎng)站建設)、wap網(wǎng)站建設(手機版網(wǎng)站建設)、自適應網(wǎng)站建設、程序開發(fā)、網(wǎng)站優(yōu)化、微網(wǎng)站、微信小程序等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設行業(yè)積累了豐富的做網(wǎng)站、網(wǎng)站制作、網(wǎng)站設計、網(wǎng)絡營銷經(jīng)驗,集策劃、開發(fā)、設計、營銷、管理等多方位專業(yè)化運作于一體。
Go 語言中 encoding/json 包可以很方便的將結構體、數(shù)組、字典轉換為 json 字符串。
引用
import "encoding/json"
解析語法
// v 傳入結構體、數(shù)組等實例變量 // []byte 字節(jié)數(shù)組 // error 可能會有的錯誤 func Marshal(v interface{}) ([]byte, error)
反解析
// []byte 字節(jié)數(shù)組 // v 傳入結構體、數(shù)組等實例變量的指針地址 // error 可能會有的錯誤 func Unmarshal(data []byte, v interface{}) error
代碼
package main // https://golang.org/pkg/encoding/json/ // https://cloud.tencent.com/developer/section/1141542#stage-100023262 import ( "fmt" "encoding/json" ) type User struct { Id int `json:"id"` Name string `json:"name"` } func main() { // 字符串解析為結構體 s := `{"id": 1, "name": "wxnacy"}` var user User // 將字符串反解析為結構體 json.Unmarshal([]byte(s), &user) fmt.Println(user) // {1 wxnacy} var d map[string]interface{} // 將字符串反解析為字典 json.Unmarshal([]byte(s), &d) fmt.Println(d) // map[id:1 name:wxnacy] s = `[1, 2, 3, 4]` var a []int // 將字符串反解析為數(shù)組 json.Unmarshal([]byte(s), &a) fmt.Println(a) // [1 2 3 4] // 將結構體解析為字符串 b, e := json.Marshal(user) fmt.Println(e) fmt.Println(string(b)) // {"id":1,"name":"wxnacy"} b, e = json.Marshal(a) fmt.Println(string(b), e) // [1,2,3,4] <nil> b, e = json.Marshal(d) fmt.Println(string(b), e) // {"id":1,"name":"wxnacy"} <nil> }
以上是“Go中結構體、數(shù)組、字典和json的字符串如何相互轉換”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
新聞名稱:Go中結構體、數(shù)組、字典和json的字符串如何相互轉換
分享URL:http://chinadenli.net/article48/jeceep.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導航、軟件開發(fā)、網(wǎng)站排名、網(wǎng)站收錄、響應式網(wǎng)站、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)