美文网首页
Go语言处理JSon字段

Go语言处理JSon字段

作者: 阿斯巴甜不太甜 | 来源:发表于2021-03-31 20:05 被阅读0次

1. Json格式

var jsonstr = `{
        "Code" :"asd",
        "data":{
            "message":"ok,i'm fine"
        }
}`

完整的一条json语句中,字段都为字符串类型,值为基本数据类型:整形、布尔型、字符串等

2. Json转map

在解析json时,通常要用到encoding/json这个包

import{
    "encoding/json"
    "fmt"
}

json.Unmarshal()方法用作将一个json类型的字节流,序列化成指定的形式,可以为map,也可以为自定义的结构体,需要注意的是,希望被转换的格式需要以指针类型传入

var m = make(map[string]interface{})  // 定义的map value需为interface{}形式,为了方便处理上面的嵌套问题,保证map的嵌套封装

json.Unmarshal([]byte(jsonstr), &m)

m = m["data"].(map[string]interface{}) // 转化成map时,深层嵌套也被封装成了map

fmt.Println(m)

运行结果如下

map[message:ok,i'm fine]

3. map转json

将map或者struct打包成json,用的是json中的marshal方法,返回的是一个字节数组和一个错误类型

    var m = make(map[string]interface{})
    m["info"] = "ok,i am fine"
    x, err := json.Marshal(&m)
    if err != nil {
        return
    }
    fmt.Println(string(x))

打印结果

{"info":"ok,i am fine"}

相关文章

  • Go语言处理JSon字段

    1. Json格式 完整的一条json语句中,字段都为字符串类型,值为基本数据类型:整形、布尔型、字符串等 2. ...

  • 自定义json解析处理不固定类型问题

    Go语言本身是强类型的,处理一些弱类型语言的json时会遇到相同的字段,类型是不固定的这种情况,字段定义为inte...

  • go语言json处理

    json是一种经常使用的数据格式,下面总结一下json的使用json与struct转换的话struct的属性必须首...

  • go json处理空struct

    go在处理json时,tag中如果添加omitempty表示此字段为空时,不输出。 但如果此字段是struct时是...

  • [Go基础]Json在Go中的使用

    前言 本文主要根据Go语言Json包[1]、官方提供的Json and Go[2]和go-and-json[3]整...

  • Go语言中的JSON处理

    上一次我们讲到了关于Go中的对于XML的处理,这次我们来说一下关于JSON的处理。JSON是一种轻量级的数据交换语...

  • 在Go语言中处理Json

    下面是一段Json格式的数据: 接下来,我们写一段代码,把Json格式的数据做为字符串输入,我们的代码解析后输出到...

  • Springboot+Mybatis+MySql下,mysql使

    背景: 1、mysql5.7开始支持json类型字段;2、mybatis暂不支持json类型字段的处理,需要自己做...

  • Go语言标准库之JSON编解码

    Go语言标准库之JSON编解码 基本的类型 Go语言中的数据类型和JSON的数据类型的关系 bool -> JSO...

  • Go语言标准库之JSON编解码

    Go语言标准库之JSON编解码 基本的类型 Go语言中的数据类型和JSON的数据类型的关系 bool -> JSO...

网友评论

      本文标题:Go语言处理JSon字段

      本文链接:https://www.haomeiwen.com/subject/ruyohltx.html