濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > 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)注 中國(guó)地圖標(biāo)注省會(huì)高清 江西轉(zhuǎn)化率高的羿智云外呼系統(tǒng) 高德地圖標(biāo)注口訣 學(xué)海導(dǎo)航地圖標(biāo)注 南通如皋申請(qǐng)開(kāi)通400電話

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

引用

import "encoding/json"

解析語(yǔ)法

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

反解析

// []byte 字節(jié)數(shù)組
// v 傳入結(jié)構(gòu)體、數(shù)組等實(shí)例變量的指針地址
// error 可能會(huì)有的錯(cuò)誤
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)換方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

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

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

巨人網(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)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Go 結(jié)構(gòu)體、數(shù)組、字典和 json 字符串的相互轉(zhuǎn)換方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Go 結(jié)構(gòu)體、數(shù)組、字典和 json 字符串的相互轉(zhuǎn)換方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    巩义市| 甘孜县| 惠安县| 富顺县| 潼南县| 曲松县| 兴仁县| 东明县| 黔东| 修文县| 团风县| 漳州市| 宝兴县| 宝应县| 安岳县| 五寨县| 福建省| 嘉义县| 武义县| 屯昌县| 新营市| 固安县| 奈曼旗| 漳州市| 常熟市| 洪湖市| 长葛市| 淮滨县| 普陀区| 肃南| 隆化县| 拜城县| 巴东县| 石台县| 三河市| 双流县| 盘山县| 合江县| 凤翔县| 扶余县| 永新县|