zoukankan      html  css  js  c++  java
  • 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可以直接输出对象

      

    本博客是个人工作中记录,遇到问题可以互相探讨,没有遇到的问题可能没有时间去特意研究,勿扰。
    另外建了几个QQ技术群:
    2、全栈技术群:616945527,加群口令abc123
    2、硬件嵌入式开发: 75764412
    3、Go语言交流群:9924600

    闲置域名www.nsxz.com出售(等宽等高字符四字域名)。
  • 相关阅读:
    springboot自定义注解
    springboot2.3+mybatis+pageHelper
    免费好用的mysql客户端
    springboot2.3+mybatis-plus+mysql8.0
    b站“视频评论区”抽奖 讲解(含JS源码)
    JS实现b站动态抽奖“公平”方案——动态+转发
    JS实现b站动态转发抽奖(小人数)新方案讲解
    C#爬虫(Selenium和WeiAPI)
    C#时间戳转换
    Quartz.net配置文件出现的坑
  • 原文地址:https://www.cnblogs.com/zhaogaojian/p/15057269.html
Copyright © 2011-2022 走看看