当前位置 博文首页 > 在go中使用omitempty的代码实例

    在go中使用omitempty的代码实例

    作者:stpeace 时间:2021-07-06 18:39

    omitempty在go中的使用

    直接上代码:

    package main
    import (
      "encoding/json"
      "fmt"
    )
    type Person struct {
      Name string `json:"name"`
      Age int  `json:"age"`
      Addr string `json:"addr,omitempty"`
    }
    func main() {
      p1 := Person{
        Name: "taoge",
        Age: 30,
      }
      data, err := json.Marshal(p1)
      if err != nil {
        panic(err)
      }
      fmt.Printf("%s\n", data)
      fmt.Println(p1.Name, p1.Age, p1.Addr)
      p2 := Person{
        Name: "Cang Laoshi",
        Age: 18,
        Addr: "Japan",
      }
      data2, err := json.Marshal(p2)
      if err != nil {
        panic(err)
      }
      fmt.Printf("%s\n", data2)
      fmt.Println(p2.Name, p2.Age, p2.Addr)
    }

    结果:

    {"name":"taoge","age":30}
    taoge 30
    {"name":"Cang Laoshi","age":18,"addr":"Japan"}
    Cang Laoshi 18 Japan

    可以看到,有了omitempty后,如果addr为空, 则生成的json中没有addr字段。

    可以去掉omitempty, 再试试。

    不多说。

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对站长博客的支持。如果你想了解更多相关内容请查看下面相关链接

    jsjbwy
    下一篇:没有了