代码拉取完成,页面将自动刷新
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)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。