go_json_learn
解析嵌套类型示例:
func test3() {
b := []byte(`{"Name":"tom","Age":20,"Email":"tom@gmail.com", "Parents" : ["tom", "kite"]}`)
var f map[string]interface{}
json.Unmarshal(b, &f)
fmt.Printf("f: %v\n", f)
for k, v := range f {
fmt.Printf("k: %v\n", k)
fmt.Printf("v: %v\n", v)
}
}
创建json文件示例:
func test4() {
//定义一个结构体
type Person struct {
Name string
Age int
Email string
Parent []string
}
//结构体初始化
p := Person{
Name: "tom",
Age: 20,
Email: "tom@gmail.com",
Parent: []string{"big tom", "big kite"},
}
//打开a.json文件进行写入,如果没有此文件就创建一个,赋予权限777
f, _ := os.OpenFile("a.json", os.O_WRONLY|os.O_CREATE, 0777)
//在程序执行完成后,关闭文件
defer f.Close()
//创建这个文件writer对象的Encoder
e := json.NewEncoder(f)
//把结构体p的内容转换成json写入文件中
e.Encode(p)
}
打开json文件示例:
func test5() {
//打开a.json文件
f, _ := os.Open("a.json")
defer f.Close()
//创建这个文件Reader对象的Decoder
d := json.NewDecoder(f)
var v map[string]interface{}
//取出json文件里的内容并转换为map类型
d.Decode(&v)
fmt.Printf("v: %v\n", v)
}
将结构体转换成json:
func Marshal() {
p := Person{
Name: "tom",
Age: 20,
Email: "tom@gmail.com",
}
b, _ := json.Marshal(p)
fmt.Printf("string(b): %v\n", string(b))
}
go_json_learn的更多相关文章
随机推荐
- css过渡样式
transition: 2s;//过渡两秒 用法: .div{ transition: 2s; }
- 2022美团Java后端开发春招实习面经
2022美团Java后端开发春招实习面经 一面 1.讲一下计算机网络的五层架构,每层分别有什么协议 五层架构:应用层.运输层.网络层.数据链路层.物理层 2.什么是 Http 协议,各种 Ht ...
- POJ2533 Longest Ordered Subsequence (线性DP)
设dp[i]表示以i结尾的最长上升子序列的长度. dp[i]=max(dp[i],dp[j]+1). 1 #include <map> 2 #include <set> 3 # ...
- ifram父页面、子页面元素及方法的获取调用
page1 父页面 <div id="ifram" class="parent1"> <iframe frameborder="0& ...
- 前端框架Vue------>第一天学习(3)
文章目录 8 .使用Axios实现异步通信 9 .表单输入绑定 9.1 . 什么是双向数据绑定 9.2 .为什么要实现数据的双向绑定 9.3 .在表单中使用双向数据绑定 8 .使用Axios实现异步通 ...
- IO模型及高性能网络架构分析
前言 操作系统一次IO调用过程 应用程序发起的一次IO操作包含两个阶段: IO调用:应用程序进程向操作系统内核发起调用. IO执行:操作系统内核完成IO操作. 操作系统内核完成IO操作还包括两个过程: ...
- javascript异步编程之generator(生成器函数)与asnyc/await语法糖
Generator 异步方案 相比于传统回调函数的方式处理异步调用,Promise最大的优势就是可以链式调用解决回调嵌套的问题.但是这样写依然会有大量的回调函数,虽然他们之间没有嵌套,但是还是没有达到 ...
- Aspose.Cell和NPOI生成Excel文件2
NPOI还是比较好用的,引用dll程序集即可 1创建workbook和工作流 HSSFWorkbook workbook = new HSSFWorkbook(); MemoryStream ms = ...
- 执行xxx.sh脚本的两种方式
因公司测试环境的登录模式有2种,大佬们直接写了个脚本完成一键切换,看了其中的脚本文件,其中出现了send "sh out.sh\r":一直疑惑这里的sh out.sh的意思...查 ...
- Pwn学习随笔
Pwn题做题流程 使用checksec检查ELF文件保护开启的状态 IDApro逆向分析程序漏洞(逻辑复杂的可以使用动态调试) 编写python的exp脚本进行攻击 (若攻击不成功)进行GDB动态调试 ...