主頁 > 知識庫 > Go 結(jié)構(gòu)體、數(shù)組、字典和 json 字符串的相互轉(zhuǎn)換方法

Go 結(jié)構(gòu)體、數(shù)組、字典和 json 字符串的相互轉(zhuǎn)換方法

熱門標(biāo)簽:地圖標(biāo)注的汽車標(biāo) 浙江高速公路地圖標(biāo)注 廣州呼叫中心外呼系統(tǒng) 西部云谷一期地圖標(biāo)注 中國地圖標(biāo)注省會高清 江西轉(zhuǎn)化率高的羿智云外呼系統(tǒng) 高德地圖標(biāo)注口訣 學(xué)海導(dǎo)航地圖標(biāo)注 南通如皋申請開通400電話

Go 語言中 encoding/json 包可以很方便的將結(jié)構(gòu)體、數(shù)組、字典轉(zhuǎn)換為 json 字符串。

引用

import "encoding/json"

解析語法

// v 傳入結(jié)構(gòu)體、數(shù)組等實例變量
// []byte 字節(jié)數(shù)組
// error 可能會有的錯誤
func Marshal(v interface{}) ([]byte, error)

反解析

// []byte 字節(jié)數(shù)組
// v 傳入結(jié)構(gòu)體、數(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() {
 // 字符串解析為結(jié)構(gòu)體
 s := `{"id": 1, "name": "wxnacy"}`
 
 var user User
 // 將字符串反解析為結(jié)構(gòu)體
 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]
 
 // 將結(jié)構(gòu)體解析為字符串
 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 結(jié)構(gòu)體、數(shù)組、字典和 json 字符串的相互轉(zhuǎn)換方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • golang修改結(jié)構(gòu)體中的切片值方法
  • Go語言中結(jié)構(gòu)體方法副本傳參與指針傳參的區(qū)別介紹
  • go語言通過反射獲取和設(shè)置結(jié)構(gòu)體字段值的方法
  • Go語言指針訪問結(jié)構(gòu)體的方法
  • Go語言結(jié)構(gòu)體定義和使用方法
  • Go語言基礎(chǔ)語法之結(jié)構(gòu)體及方法詳解

標(biāo)簽:吐魯番 貴州 東營 常州 曲靖 許昌 保定 德宏

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