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出售(等宽等高字符四字域名)。
  • 相关阅读:
    盒模型
    DTD
    JS 中的 __proto__ 、prototype、constructor
    ES 5 中 判断数组的方法
    js keyup、keypress和keydown事件
    webpack 安装 url-loader 模块后,图片地址展示错误问题
    前端展示PDF内容
    对象的深拷贝
    IE 11 中不知promise 的 finally 方法
    js判断一个字符串是否为纯数字组成
  • 原文地址:https://www.cnblogs.com/zhaogaojian/p/15057269.html
Copyright © 2011-2022 走看看