由于要开发一个小型的web应用,而web应用大部分都会使用json作为数据传输的格式,所以有了这篇文章。

包引用

import (
"encoding/json"
"github.com/bitly/go-simplejson" // for json get
)

用于存放数据的结构体

type MyData struct {
Name string `json:"item"`
Other float32 `json:"amount"`
}

这里需要注意的就是后面单引号中的内容。

`json:"item"`

这个的作用,就是Name字段在从结构体实例编码到JSON数据格式的时候,使用item作为名字。算是一种重命名的方式吧。

编码JSON

var detail MyData

detail.Name  = "1"
detail.Other = "2" body, err := json.Marshal(detail)
if err != nil {
panic(err.Error())
}

我们使用Golang自带的encoding/json包对结构体进行编码到JSON数据。

json.Marshal(...)

JSON解码

由于Golang自带的json包处理解码的过程较为复杂,所以这里使用一个第三方的包simplejson进行json数据的解码操作。

js, err := simplejson.NewJson(body)
if err != nil {
panic(err.Error())
} fmt.Println(js)

完!

最新文章

  1. 【iCore3 双核心板】【发布基于 iCore3的显示模块(包含7寸屏,4.3寸屏,vga模块等】
  2. Mac下Virtual Box Host-Only网络配置
  3. 为什么Java方法里面不能再嵌套方法?
  4. IOC容器特性注入第一篇:程序集反射查找
  5. LESSON THREE
  6. Nginx优化—配置优化
  7. 外部 Storage Provider - 每天5分钟玩转 Docker 容器技术(149)
  8. 【源码安装】Heartbeat3.0.9
  9. c#中委托和事件区别
  10. HoloLens开发手记-硬件细节 Hardware Detail
  11. aps.net手写验证模型的方法
  12. MyEclipse10中配置开发Python所需要的PyDev 绝对靠谱 不忽悠!
  13. Tensorflow currently has no official prebuild for your CUDA, cuDNN combination.
  14. WCF REST 工作总结
  15. Eclipse 如何创建Web项目
  16. sidekiq安装及使用
  17. iOS 性能监测
  18. IO模型《四》多路复用IO
  19. Java并发编程(六):Java里实现对象安全发布的四种方式
  20. git submodule update --init --recursive

热门文章

  1. GreenPlum 与hadoop什么关系?(转)
  2. File,FileInfo,Directory,DirectoryInfo
  3. python 解决粘包问题
  4. [Oracle]分区索引
  5. spring入门(七) spring mvc+mybatis+generator
  6. CodePush自定义更新弹框及下载进度条
  7. 关于echarts整合多个类似option
  8. python核心编程2 第七章 练习
  9. CDN初识
  10. 汇编:汇编语言实现冒泡排序(loop指令实现)