在Golang中,Unmarshal是将JSON或XML字符串转换为结构体或其他数据类型的过程。它是将数据反序列化为Go语言对象的方法。

以下是golang Unmarshal的用法:

  1. 使用json.Unmarshal()函数将JSON字符串转换为结构体:
type Person struct {
   Name string `json:"name"`
   Age  int    `json:"age"`
}

var jsonStr = `{"name":"John", "age":30}`
var person Person
json.Unmarshal([]byte(jsonStr), &person)
fmt.Println(person.Name, person.Age)
  1. 使用xml.Unmarshal()函数将XML字符串转换为结构体:
type Person struct {
   Name string `xml:"name"`
   Age  int    `xml:"age"`
}

var xmlStr = `<Person><name>John</name><age>30</age></Person>`
var person Person
xml.Unmarshal([]byte(xmlStr), &person)
fmt.Println(person.Name, person.Age)
  1. 使用Unmarshal()函数将JSON或XML字符串转换为map[string]interface{}:
var jsonStr = `{"name":"John", "age":30}`
var jsonMap map[string]interface{}
json.Unmarshal([]byte(jsonStr), &jsonMap)
fmt.Println(jsonMap["name"], jsonMap["age"])

var xmlStr = `<Person><name>John</name><age>30</age></Person>`
var xmlMap map[string]interface{}
xml.Unmarshal([]byte(xmlStr), &xmlMap)
fmt.Println(xmlMap["name"], xmlMap["age"])

需要注意的是,Unmarshal()函数的第二个参数必须是指向结构体或map的指针。另外,在使用Unmarshal()函数时,需要确保JSON或XML字符串的格式与结构体或map的定义相匹配。

golang Unmarshal 用法

原文地址: http://www.cveoy.top/t/topic/IzE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录