package main
import (
"fmt"
"encoding/json"
"os"
"io/ioutil"
"io"
)
type Post struct {
Id int `json:"id"`
Content string `json:"content"`
Author Author `json:"author"`
Comments []Comment `json:"comments"`
}
type Author struct {
Id int `json:"id"`
Name string `json:"name"`
}
type Comment struct {
Id int `json:"id"`
Content string `json:"content"`
Author string `json:"author"`
}
func main() {
//創(chuàng)建JSON
post :=Post {
Id: 1,
Content:"Hello World!",
Author: Author{
Id: 2,
Name: "shao tong",
},
Comments: []Comment{
Comment{
Id:3,
Content:"Have a great day!",
Author:"Adam",
},
Comment{
Id:4,
Content:"How are tyyou today?!",
Author:"Betty",
},
},
}
//方法一:
output,err := json.MarshalIndent(&post,"","\t\t")
if err != nil {
fmt.Println("Error marshalling to JSON:",err)
return
}
err = ioutil.WriteFile("post1.json",output,0644)
if err != nil {
fmt.Println("Error writing JSON to file:",err)
return
}
//方法二:
jsonFile,err :=os.Create("post2.json")
if err != nil {
fmt.Println("Error creating JSON file:",err)
return
}
encoder :=json.NewEncoder(jsonFile)
err = encoder.Encode(&post)
if err != nil {
fmt.Println("Error encoding JSON to file:",err)
return
}
//分析JSON
//方法一:
jsonFile1,err := os.Open("post.json")
if err != nil {
fmt.Println("Error opening JSON file",err)
return
}
defer jsonFile1.Close()
jsonData1,err :=ioutil.ReadAll(jsonFile1)
if err != nil {
fmt.Println("Error reading JSON data :",err)
return
}
var post1 Post
json.Unmarshal(jsonData1, &post1)
fmt.Println(post1)
//方法二:
decoder :=json.NewDecoder(jsonFile1)
for {
var post Post
err :=decoder.Decode(&post)
if err == io.EOF {
break
}
if err != nil {
fmt.Println("Error decoding JSON:",err)
return
}
fmt.Println(post)
}
}
go分析和創(chuàng)建JSON
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門施籍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人概漱,你說我怎么就攤上這事丑慎。” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵竿裂,是天一觀的道長(zhǎng)玉吁。 經(jīng)常有香客問我,道長(zhǎng)腻异,這世上最難降的妖魔是什么进副? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮悔常,結(jié)果婚禮上影斑,老公的妹妹穿的比我還像新娘。我一直安慰自己机打,他們只是感情好矫户,可當(dāng)我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著残邀,像睡著了一般皆辽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上芥挣,一...
- 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼都弹!你這毒婦竟也來了娇豫?” 一聲冷哼從身側(cè)響起匙姜,我...
- 序言:老撾萬榮一對(duì)情侶失蹤畅厢,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后氮昧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體框杜,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年袖肥,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了咪辱。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
- 正文 年R本政府宣布弱贼,位于F島的核電站,受9級(jí)特大地震影響磷蛹,放射性物質(zhì)發(fā)生泄漏吮旅。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一味咳、第九天 我趴在偏房一處隱蔽的房頂上張望庇勃。 院中可真熱鬧,春花似錦槽驶、人聲如沸责嚷。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽再层。三九已至,卻和暖如春堡纬,著一層夾襖步出監(jiān)牢的瞬間聂受,已是汗流浹背。 一陣腳步聲響...
- 正文 我出身青樓炮叶,卻偏偏與公主長(zhǎng)得像碗旅,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子镜悉,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 異常處理 error 接口 (非致命錯(cuò)誤) panic( 致命錯(cuò)誤,程序崩潰) recover (防止程序崩潰導(dǎo)致...
- 一、Json數(shù)據(jù)的解析和編碼 在開發(fā)過程中我們常常需要對(duì)數(shù)據(jù)進(jìn)行編碼和解析import "encoding/jso...
- 編碼為JSON格式 type header struct {Encryption string `json:"en...
- 我喜歡林清玄的文字矩距,于我而言拗盒,他的筆觸下多的是對(duì)生活細(xì)微處的禪悅,多的是對(duì)幸福的定義锥债。而推究到具體何時(shí)開始關(guān)注陡蝇,大...
- 我很喜歡法律痊臭,我認(rèn)為法律是人類發(fā)明過的最好的東西。你知道什么是人嗎登夫?在我眼里趣兄,人是神性和動(dòng)物性的總和,就是他有你想...