Go语言中json数据格式的解析

函数调用

jsonStu, err := json.Marshal(stu)
背景

Json(Javascript Object Nanotation)是一种数据交换格式,常用于前后端数据传输。任意一端将数据转换成json 字符串,另一端再将该字符串解析成相应的数据结构,如string类型,strcut对象等。

函数作用

将数据编码成json字符串格式

demo
package main

import (
	"encoding/json"
	"fmt"
)
// 结构体转变为json数据

type Stu struct {
Name  string `json:"name"`
Age   int `json:"年龄"`
HIgh  bool
Sex   string
Class *Class `json:"班级"`
}

type Class struct {
Name  string
Grade int
}

func main() {
//实例化一个数据结构,用于生成json字符串
stu := Stu{
Name: "张三",
Age:  18,
HIgh: true,
Sex:  "男",
}

//指针变量 申请指针变量
cla := new(Class)
cla.Name = "1班"
cla.Grade = 3
stu.Class=cla

//Marshal失败时err!=nil
jsonStu, err := json.Marshal(stu)
if err != nil {
fmt.Println("生成json字符串错误")
}

//jsonStu是[]byte类型,转化成string类型便于查看
fmt.Println(string(jsonStu))
}
  1. 其中转化过程中默认key为变量名,如果后面有json标注,即为后面的部分。
  2. 注意转化必须变量首字母必须大写(可导出)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值