Go语言中转换JSON数据简单例子

 更新时间:2014年10月30日 09:36:30   投稿:junjie  
这篇文章主要介绍了Go语言中转换JSON数据简单例子,本文先定义了一个结构体,然后把JSON绑定到结构体上实现读取,需要的朋友可以参考下

Go语言转换JSON数据真是非常的简单。
以EasyUI的Demo为例,将/demo/datagrid/datagrid_data1.json 拷贝到$GOPATH/src目录:

JSON.go:

复制代码 代码如下:

package main

import (
        "encoding/json"
        "fmt"
        "io/ioutil"
)

type product struct {
        Productid string
        Productname string
        Unitcost float32
        Status string
        Listprice float32
        Attr1 string
        Itemid string
}

type grid struct {
        Total int
        Rows []product
}

func main() {
        var grid grid
        data, err := ioutil.ReadFile("datagrid_data1.json")
        if err != nil {
                fmt.Println("ReadFile:", err.Error())
        }
        json.Unmarshal(data, &grid)
        fmt.Println(grid)
        fmt.Println("----------------------------")
        b, _ := json.Marshal(grid)
        fmt.Println(string(b))
}

将JSON绑定到结构体,结构体的字段一定要大写,否则不能绑定数据。

相关文章

  • Go语言中实现enum枚举的方法详解

    Go语言中实现enum枚举的方法详解

    枚举,即 enum,可用于表示一组范围固定的值,它能助我们写出清晰、安全的代码,那么你是否了解过 Go 中的枚举呢?下面就跟随小编一起来学习一下Go语言中实现enum枚举的常用方法吧
    2024-02-02
  • Go语言实现LRU算法的核心思想和实现过程

    Go语言实现LRU算法的核心思想和实现过程

    这篇文章主要介绍了Go语言实现LRU算法的核心思想和实现过程,LRU算法是一种常用的缓存淘汰策略,它的核心思想是如果一个数据在最近一段时间内没有被访问到,那么在将来它被访问的可能性也很小,因此可以将其淘汰,感兴趣想要详细了解可以参考下文
    2023-05-05
  • GoFrame gredis缓存DoVar及Conn连接对象的自动序列化

    GoFrame gredis缓存DoVar及Conn连接对象的自动序列化

    这篇文章主要为大家介绍了GoFrame gredis干货DoVar Conn连接对象自动序列化详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Go通过不变性优化程序详解

    Go通过不变性优化程序详解

    这篇文章主要为大家介绍了Go通过不变性优化程序实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • web项目中golang性能监控解析

    web项目中golang性能监控解析

    这篇文章主要为大家介绍了web项目中golang性能监控详细的解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • go语言实现字符串base64编码的方法

    go语言实现字符串base64编码的方法

    这篇文章主要介绍了go语言实现字符串base64编码的方法,实例分析了Go语言操作字符串的技巧及base64编码的使用技巧,需要的朋友可以参考下
    2015-03-03
  • 详解Golang函数式选项(Functional Options)模式

    详解Golang函数式选项(Functional Options)模式

    什么是函数式选项模式,为什么要这么写,这个编程模式解决了什么问题呢?其实就是为了解决动态灵活的配置不同的参数的问题。下面通过本文给大家介绍Golang函数式选项(Functional Options)模式的问题,感兴趣的朋友一起看看吧
    2021-12-12
  • 用Go获取短信验证码的示例代码

    用Go获取短信验证码的示例代码

    要用Go获取短信验证码,通常需要连接到一个短信服务提供商的API,并通过该API发送请求来获取验证码,由于不同的短信服务提供商可能具有不同的API和授权方式,我将以一个简单的示例介绍如何使用Go语言来获取短信验证码,需要的朋友可以参考下
    2023-07-07
  • mac下golang安装了windows编译环境后编译变慢

    mac下golang安装了windows编译环境后编译变慢

    这篇文章主要介绍了mac下golang安装了windows编译环境后编译变慢的处理方法,非常的简单,有相同问题的小伙伴可以参考下。
    2015-04-04
  • Golang编程并发工具库MapReduce使用实践

    Golang编程并发工具库MapReduce使用实践

    这篇文章主要为大家介绍了Golang并发工具库MapReduce的使用实践,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04

最新评论