在go语言中,通常会遇到需要json反序列化为go结构,然后再操作结构数据。
直接上代码
package main
import (
"encoding/json"
"fmt"
)
type MyStructName struct {
Description string `json:"description"`
Name string `json:"name"`
}
func main() {
jsonSrc := []byte(`{
"name": "abc",
"description": "def"
}`)
var m MyStructName
json.Unmarshal(jsonSrc, &m)
if m.Description == "def" {
fmt.Println("ok")
}
}
以上是将如下json转换为golang结构:
{
"name": "abc",
"description": "def"
}
对应的golang结构定义如下:
type MyStructName struct {
Description string `json:"description"`
Name string `json:"name"`
}
比较麻烦一点就是这个结构定义要手工编写,也可借助一些在线工具自动生成,比较好用如这个 在线json生成golang结构定义代码工具 ,上面还附带json转go结构代码例子,以上参考代码也是来自他的。