1 Star 0 Fork 0

wukai/GoStudy

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
json.go 1.15 KB
一键复制 编辑 原始数据 按行查看 历史
君町love 提交于 2019-01-18 18:55 +08:00 . go json
package datarw
import (
"encoding/json"
"fmt"
"io/ioutil"
"log"
"os"
)
type Address struct {
Type string
City string
Country string
}
type VCard struct {
FirstName string
LastName string
Addresses []*Address
Remark string
}
//ObjToJSON 序列化Json
func ObjToJSON() {
address1 := Address{Type: "work", City: "Shanghai", Country: "China"}
address2 := Address{Type: "home", City: "Chuzhou", Country: "Anhui"}
vcard := VCard{FirstName: "Kai", LastName: "Wu", Addresses: []*Address{&address1, &address2}, Remark: "Personal"}
js, _ := json.Marshal(vcard)
fmt.Printf("JSON format: %s \n", js)
// using an encoder: 把json转储到文件中
file, _ := os.OpenFile("vcard.json", os.O_CREATE|os.O_WRONLY, 0)
defer file.Close()
enc := json.NewEncoder(file)
err := enc.Encode(vcard)
if err != nil {
log.Println("Error in encoding json")
}
}
//JSONToObj 反序列化
func JSONToObj() {
f, openErr := os.Open("vcard.json")
if openErr != nil {
log.Println(openErr)
return
}
defer f.Close()
js, _ := ioutil.ReadAll(f)
vc := &VCard{}
err := json.Unmarshal(js, vc)
if err != nil {
log.Println(err)
return
}
fmt.Println(*vc)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/thinkerwolf/GoStudy.git
git@gitee.com:thinkerwolf/GoStudy.git
thinkerwolf
GoStudy
GoStudy
62820d0e2c88

搜索帮助