2.11 JSON読み書き3:JSONファイルの読み書き
3514 ワード
概要ローカルファイルはJSOPデータを格納する重要なスキームである GoデータをJSON文字列としてファイルに書き込むプロセスを符号化 と呼ぶ.ファイルからJSON文字列Goデータを読み出すプロセスを復号 と呼ぶ.
依存のインポート
構造体の定義
Goデータをjsonファイルに符号化する構造体インスタンスをJSON形式でファイルに書き出すプロセスを符号化と呼び、その一般的なステップは: Goデータ を準備するファイルを開き、そのファイルに基づくJSONエンコーダ を作成する Goデータをファイルに符号化する
JsonファイルをGoデータとして復号するファイルからJSONデータをGo言語データとして読み出すプロセスを復号と呼び、一般的なステップは以下の通りである. JSON文字列を含むファイルを開く ファイル変更ベースJSONデコーダ を作成するファイル中のJSONデータを対応するGoデータポインタ中の に復号する.
依存のインポート
import (
"encoding/json"
"os"
"fmt"
)
構造体の定義
type PersonII struct {
Name string
Age int
Sex bool
Hobbies []string
}
Goデータをjsonファイルに符号化する構造体インスタンスをJSON形式でファイルに書き出すプロセスを符号化と呼び、その一般的なステップは:
func main31() {
// PersonII
xhz := PersonII{" ", 60, true, []string{" ", " ", " "}}
// ( )
filePtr, err := os.Create("d:/ .json")
if err!=nil{
fmt.Println(" ,err=",err)
return
}
defer filePtr.Close()
// JSON
encoder := json.NewEncoder(filePtr)
//
err = encoder.Encode(xhz)
if err!=nil{
fmt.Println(" ,err=",err)
}else{
fmt.Println(" ")
}
}
JsonファイルをGoデータとして復号するファイルからJSONデータをGo言語データとして読み出すプロセスを復号と呼び、一般的なステップは以下の通りである.
func main32() {
//
var xhz PersonII
//
filePtr, _ := os.Open("d:/ .avi")
defer filePtr.Close()
// json
decoder := json.NewDecoder(filePtr)
// xhz
err := decoder.Decode(&xhz)
if err!=nil{
fmt.Println(" ,err=",err)
}else {
fmt.Printf(" :%#v
",xhz)
}
}