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

 更新时间:2019-06-25 03:02:48   作者:佚名   我要评论(0)

本文实例讲述了go语言使用第三方包 json化结构体操作。分享给大家供大家参考,具体如下:
前提条件:安装好操作系统对应的git


go get -u github.com/pquern

本文实例讲述了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语言中转换JSON数据简单例子
  • Go语言对JSON进行编码和解码的方法
  • 在Go语言程序中使用gojson来解析JSON格式文件
  • 使用Go语言解析动态JSON格式的方法
  • go语言读取json并下载高清妹子图片
  • 详解Go语言RESTful JSON API创建
  • 关于go语言载入json可能遇到的一个坑
  • Go语言的JSON处理详解
  • 在Go语言中使用JSON的方法
  • Go语言结构体定义和使用方法
  • 浅谈Go语言中的结构体struct & 接口Interface & 反射
  • Go语言指针访问结构体的方法

相关文章

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

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

    本文实例讲述了go语言使用第三方包 json化结构体操作。分享给大家供大家参考,具体如下: 前提条件:安装好操作系统对应的git go get -u github.com/pquern
    2019-06-25
  • linux启动dhcp服务器步骤

    linux启动dhcp服务器步骤

    DHCP (Dynamic Host Configuration Protocol,动态主机管理协议)是一种基于UDP协议且仅限用于局域网的网络协议,主要用途是为局域网内部设备或网络供应商自动
    2019-06-25
  • Go语言集成mysql驱动、调用数据库、查询数据操作示例

    Go语言集成mysql驱动、调用数据库、查询数据操作示例

    本文实例讲述了Go语言集成mysql驱动、调用数据库、查询数据操作。分享给大家供大家参考,具体如下: 1、安装第三方mysql驱动包 go get -u github.com/go-sq
    2019-06-25
  • Shell中exit和return的区别讲解

    Shell中exit和return的区别讲解

    1.exit命令 exit命令是Shell内建命令,用于退出当前Shell进程。使用格式如下: exit [<n>] 可以指定退出状态n,n的取值范围是0-255,一般情况下,0表示正常
    2019-06-25
  • 使用shell脚本每天对MySQL多个数据库自动备份的讲解

    使用shell脚本每天对MySQL多个数据库自动备份的讲解

    Linux下使用shell脚本,结合crontab,定时备份MySQL下多个数据库,每次备份的数据存放于以日期命名的文件夹中,同时删除超过设定的备份保留时间的数据。 以下
    2019-06-25
  • 使用shell来发tcp包的方法

    使用shell来发tcp包的方法

    经常用tcpdump抓包来倒腾和学习,但怎么触发tcp包呢?写一个客户端程序,然后朝server上发包,肯定可以,但还有更简单的方法: exec 8<>/dev/tcp/10.100.70
    2019-06-25
  • Linux echo命令的使用及三种实现方式

    Linux echo命令的使用及三种实现方式

    先给大家介绍下linux中echo命令的使用 echo是打印变量的值或者给定的字符串,     比如,输入echo hello或者echo "hello"都是在控制台打印出hello单词  
    2019-06-25
  • pandas 数据结构之Series的使用方法

    pandas 数据结构之Series的使用方法

    1. Series Series 是一个类数组的数据结构,同时带有标签(lable)或者说索引(index)。 1.1 下边生成一个最简单的Series对象,因为没有给Series指定索引,所
    2019-06-25
  • 详解Linux中退出编辑模式的命令

    详解Linux中退出编辑模式的命令

    vim 有三种模式,注意:这三种模式有很多不同的叫法,我这里是按照鸟哥的linux书中的叫法。 一般指令模式、编辑模式、指令列命令模式 1.vim 文件名 进入
    2019-06-25
  • pandas.read_csv参数详解(小结)

    pandas.read_csv参数详解(小结)

    pandas.read_csv参数整理 读取CSV(逗号分割)文件到DataFrame 也支持文件的部分导入和选择迭代 更多帮助参见:http://pandas.pydata.org/pandas-docs/stabl
    2019-06-25

最新评论