Go入门笔记-6 Json使用

1、代码

// json.go
package main

import (
	"encoding/json"
	"fmt"
	"os"
)

type Student struct {
	Name string
	Age  int
}

type Class struct {
	Students []Student
}

func main() {
	var s Class
	str := `{"Students":[{"Name":"zs","Age":13},
            {"Name":"ls","Age":"2"}]}`

	json.Unmarshal([]byte(str), &s)
	fmt.Println(s)
	fmt.Println(s.Students[0].Name)

	fmt.Println(json.Marshal(s))
	b, _ := json.Marshal(s)
	fmt.Println(b)

	os.Stdout.Write(b)

}

2、执行结果

{[{zs 13} {ls 0}]}
zs
[123 34 83 116 117 100 101 110 116 115 34 58 91 123 34 78 97 109 101 34 58 34 122 115 34 44 34 65 103 101 34 58 49 51 125 44 123 34 78 97 109 101 34 58 34 108 115 34 44 34 65 103 101 34 58 48 125 93 125] <nil>
[123 34 83 116 117 100 101 110 116 115 34 58 91 123 34 78 97 109 101 34 58 34 122 115 34 44 34 65 103 101 34 58 49 51 125 44 123 34 78 97 109 101 34 58 34 108 115 34 44 34 65 103 101 34 58 48 125 93 125]
{"Students":[{"Name":"zs","Age":13},{"Name":"ls","Age":0}]}

3、总结

3.1如果使用整形,赋值字符串时,Unmarshar将是0  

3.2直接Println和取值再Println直接输出对象显示的都是ASCII码

3.3使用Stdout.Write可以直接输出对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值