メインパッケージ のインポート( "符号化/ JSON" "FMT" "OS" ) Human2構造体{入力 名文字列 年齢INT 人民元のfloat64 性別BOOL 趣味[]の文字列 } NewHuman2 FUNC(名前ストリング、年齢INT、人民元のfloat64、趣味[]の文字列) * Human2 { 人間:=新しい(Human2) human.Name =名 human.Age =年齢 human.Rmb = RMB human.Hobbies =趣味 戻りヒト } / *编码结构体、地図、切片到JSON文件* / FUNC main061( ){ dstFile、_:= os.OpenFile( ``编码文件、os.O_CREATE | os.O_WRONLY | os.O_TRUNC、0666) 延期dstFile.Close() エンコーダ:= json.NewEncoder(dstFile) zqd:= NewHuman2( "張全卵"、20,0.5、[]の文字列{ " 煙"、 "飲料"、 "ホットヘッド"}) ZLD:= NewHuman2( "張LIA卵"、30、0.5、[]文字列{「煙」、「ドリンク」、「ホットヘッド」}) //データマップ:=メイク(地図[文字列]インターフェース{}) //データマップ[「タイトル」] =「東Zupančič文字コロンビアレコード月に選出最高の" // DATAMAP [" DATE "] =" 2019年12月4日" // DATAMAP ["著者"] ="エクストリームパパラッチ" // DATAMAP ["読者「] = 99999999人の 人間:=メイク([] Human2 、0) 人間=アペンド(ヒト、ZQD *、* ZLD) ERR:= encoder.Encode(ヒト) !IF ERR =ゼロ{ fmt.Println( "失敗する人間のJSONファイルをコードする、ERR =" ERR) リターン } fmt.Println(「成功するために人間をコードするJSONファイル。」) } / *デコードJSON GOデータファイル* / FUNCメイン(){ //ファイルを開くを符号化する SRCFILE、_:= os.Open( ``エンコードされたファイル) 延期srcFile.Close() 照合するJSON言語データ構造でGOを作成します// =メイク([] Human2,0):// retSliceを retSlice:=メイク([]地図[文字列]インターフェース{}、0) //デコーダJSONファイルを作成 = json.NewDecoder(SRCFILE):デコーダ //でGOアドレスにデータファイルをデコードデータ ERR:= decoder.Decode(&retSlice) エラーに対する//チェック !IF ERR = nilの{ fmt.Println( " JSONファイルを失敗したデコードし、ERR = "ERR) リターン } //結果印刷 デコード成功」、retSlice)fmt.Printlnを(" }