golang Unmarshal 用法
在Golang中,Unmarshal是将JSON或XML字符串转换为结构体或其他数据类型的过程。它是将数据反序列化为Go语言对象的方法。
以下是golang Unmarshal的用法:
- 使用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)
- 使用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)
- 使用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的定义相匹配。
原文地址: http://www.cveoy.top/t/topic/IzE 著作权归作者所有。请勿转载和采集!