• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    go语言使用第三方包 json化结构体操作示例

    本文实例讲述了go语言使用第三方包 json化结构体操作。分享给大家供大家参考,具体如下:

    前提条件:安装好操作系统对应的git

    go get -u github.com/pquerna/ffjson
    
    

    -u参数:如果本地已经存在该包,则强制更新。

    1、既然是把结构体转为json字符串,那么先来定义一个结构体

    复制代码 代码如下:
    // 定义一个结构体
    type NewsModel struct {
     Id int
     Title string
    }

    2、且看ffjson这包用什么方法来把结构体转为json字符串

    复制代码 代码如下:
    func main()  {
     news := NewsModel{110,"hello"}
     res,err := ffjson.Marshal(news)
     if err != nil {
      fmt.Println("格式化错误")
      fmt.Println(err.Error())
      return
     }
     // 得到是字节数组,所以还有转为string
     fmt.Println(string(res))
    }

    打印:

    {"Id":110,"Title":"hello"}

    得到了一个json字符串

    3、拓展

    为结构体封装一个方法ToJson()专门来干这事

    复制代码 代码如下:
    package main
    import (
     "fmt"
     "github.com/pquerna/ffjson/ffjson"
    )
    // 定义一个结构体
    type NewsModel struct {
     Id int
     Title string
    }
    // 定义一个方法
    func (news NewsModel) ToJson() string  {
     res,err := ffjson.Marshal(news)
     if err != nil {
      return  err.Error()
     }
     // 得到是字节数组,所以还有转为string
     return string(res)
    }
    func main()  {
     news := NewsModel{110,"hello"}
     fmt.Println(news.ToJson()) // 打印:{"Id":110,"Title":"hello"}
    }

    希望本文所述对大家go语言程序设计有所帮助。

    您可能感兴趣的文章:
    • Go语言之结构体与方法
    • Go语言基础语法之结构体及方法详解
    • go语言通过反射创建结构体、赋值、并调用对应的操作
    • Go语言-为什么返回值为接口类型,却返回结构体
    • 关于Go 空结构体的 3 种使用场景
    上一篇:Go html/template 模板的使用实例详解
    下一篇:Go语言集成mysql驱动、调用数据库、查询数据操作示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    go语言使用第三方包 json化结构体操作示例 语言,使用,第三方,包,json,