go的json解析错误问题

package main
 
  
import (
    "encoding/json"
    "fmt"
)
 
  
type Man struct {
    Name      string
    Attribute []string
}
 
  
func main() {
    person := &Man{
        "Xiao Ming",
        []string{"age", "sex"},
    }
    b, err := json.Marshal(person)
    if err != nil {
        fmt.Println("encoding faild")
    } else {
        fmt.Println("encoded data : ")
        fmt.Println(string(b))
    }
}


结果如上

type Man struct {
    Name      string
    Attribute []string
}


改成

type Man struct {
    name      string
    Attribute []string
}


结果少了 name

这是因为json解析的错误

type Man struct {
    Name      string   `json:"name"`
    Attribute []string `json:"-"`
}

改成这样

输出就变成


这是因为可以通过 `json:"name"` 来指定json化后的标签,如果是 `json:"-"`  (是横杠不是下划线),则该标签不json出来

后来看了下教程,这地方本来设置就是这样的(菜鸟教程),酱紫

go的json解析错误问题_第1张图片

你可能感兴趣的:(go)