主頁 > 知識庫 > Go 結構體、數(shù)組、字典和 json 字符串的相互轉換方法

Go 結構體、數(shù)組、字典和 json 字符串的相互轉換方法

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

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 字符串的相互轉換方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

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

標簽:吐魯番 貴州 東營 常州 曲靖 許昌 保定 德宏

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

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章