老规矩,直接上代码

package main

import (
"encoding/json"
"fmt"
) //把结构体都改小写
type User struct {
UserName string `json:"user_name"` //json的tag标记
Nickname string `json:"nickname"`
Age int
Birthday string
Sex string
Email string
Phone string
} func testStruct() {
user1 := &User{
UserName: "超哥",
Nickname: "大头哥",
Age: ,
Birthday: "2008/8/8",
Sex: "男",
Email: "mahuateng@qq.com",
Phone: "",
} //开始json序列化
data, err := json.Marshal(user1)
if err != nil {
fmt.Printf("json.marshal failed,err:", err)
return
}
fmt.Printf("%s\n", string(data))
} func testInt() {
var a =
//开始json序列化
data, err := json.Marshal(a)
if err != nil {
fmt.Printf("json.marshal failed,err:", err)
return
}
fmt.Printf("%s\n", string(data)) } func testMap() {
var m map[string]interface{} //声明map
m = make(map[string]interface{}) //必须初始化map分配内存
m["username"] = "user1"
m["age"] =
m["sex"] = "man"
fmt.Println(m)
data, err := json.Marshal(m)
if err != nil {
fmt.Printf("json.marshal failed,err:", err)
return
}
fmt.Printf("%s\n", string(data)) } func testSlice() {
//定义一个slice,元素是map
var m map[string]interface{}
var s []map[string]interface{}
m = make(map[string]interface{})
m["username"] = "user1"
m["age"] =
m["sex"] = "man"
s = append(s, m)
m = make(map[string]interface{})
m["username"]="user2"
m["age"]=
m["sex"]="male"
s=append(s,m)
data, err := json.Marshal(s)
if err != nil {
fmt.Printf("json.marshal failed,err:", err)
return
}
fmt.Printf("%s\n", string(data)) }
func main() {
testStruct() //结构体的序列化
testInt()//序列化数值
testMap()//序列化map
testSlice()//序列化切片
}

Golang之json序列化(struct,int,map,slice)的更多相关文章

  1. golang的json序列化问题

    首先看一段代码: package main import ( "encoding/json" "fmt" ) type Result struct { //st ...

  2. golang的json序列化

    json就是简单的数据交换格式,语法类似javascript的对象和列表,是最常见的后端和运行在网页上的js之间的通信格式. encoding: 编码json数据需要使用到Marshal()函数. f ...

  3. Go_14:GoLang中 json、map、struct 之间的相互转化

    1. golang 中 json 转 struct <1. 使用 json.Unmarshal 时,结构体的每一项必须是导出项(import field).也就是说结构体的 key 对应的首字母 ...

  4. GoLang中 json、map、struct 之间的相互转化

    1. golang 中 json 转 struct <1. 使用 json.Unmarshal 时,结构体的每一项必须是导出项(import field).也就是说结构体的 key 对应的首字母 ...

  5. golang json序列化

    结构体序列化 func main() { var j = js{ Name: "zhangsan", Age: 16, Sal: 1500.3, Intro: "aiha ...

  6. golang struct 转map 及 map[string]*Struct 初始化和遍历

    package main import ( "encoding/json" "errors" "fmt" "reflect&quo ...

  7. golang中json包序列化与反序列化

    package main import ( "encoding/json" "fmt" "reflect" ) type Info stru ...

  8. 比较两个slice、struct或者map是否相等

    我们可以直接使用reflect.DeepEqual来比较两个slice.struct或者map是否相等 package main import ( "fmt" "refl ...

  9. Go语言高级特性总结——Struct、Map与JSON之间的转化

    Struct与Map之间互相转换 // Struct2Map convert struct to map func Struct2Map(st interface{}) map[string]inte ...

随机推荐

  1. Nginx 设置rewrite规则是遇到的一个{}大括号引发的报错问题

    一个群友提到: 用nginx image_filter模块裁图,用!拼宽高能够实现,现在想用参数传宽高总是报错,配置如下:   location ~ ^/images/.* {     if ( $q ...

  2. Jmeter-Interleave Controller(交替控制器)

    名称: 注释: ignore sub-controller blocks: If checked, the interleave controller will treat sub-controlle ...

  3. elasticsearch的插件安装

    目前使用的是2.4.5版本的es 安装的时候注意以下几点 : 1.如果想所有的ip都能访问es,需要修改config下的elasticsearch.yml.修改如下 network.host=0.0. ...

  4. [Luogu4899][IOI2018] werewolf 狼人

    luogu sol \(\mbox{IOI2018}\)的出题人有没有看过\(\mbox{NOI2018}\)的题目呀... \(\mbox{Kruskal}\)重构树+二维数点. 题目相当于是问你从 ...

  5. codis须知

    codis是豌豆荚team出的一个redis集群,和官方的集群区别的地方在于 基于proxy,官方是基于gossip codis所有的读写都通过proxy,对于前端业务是透明的 官方的是读写发现在某个 ...

  6. 设置cassandra用户名和密码

    参考http://zhaoyanblog.com/archives/307.html 修改cassandra.yaml配置文件 把默认的 authenticator: AllowAllAuthenti ...

  7. week1-绪论

    一 .作业题目 仿照三元组或复数的抽象数据类型写出有理数抽象数据类型的描述 (有理数是其分子.分母均为整数且分母不为零的分数). 有理数基本运算: 构造有理数T,元素e1,e2分别被赋以分子.分母值 ...

  8. 嵌入式linux开发:杂七杂八的话

    1. 编译器:常用的有Sourcery,linaro等.当然芯片厂家一般也会提供可用的编译器. 2. 将配置和编译时的输出O到其他位置:make O=some_dir 这样做的好处是保持源代码树的干净 ...

  9. Java进行spark计算

    首先在Linux环境安装spark: 可以从如下地址下载最新版本的spark: https://spark.apache.org/downloads.html 这个下载下来后是个tgz的压缩包,解压后 ...

  10. 北京师范大学第十六届程序设计竞赛决赛-重现赛-B题

    一.题目链接 https://www.nowcoder.com/acm/contest/117/B 二.题意 给定一组序列$a_1,a_2,\cdots,a_n$,表示初始序列$b_1,b_2,\cd ...