JSON01 GO直列化言語---

パッケージメイン

インポート(
	「符号化/ JSON」
	「FMT」

/ * 
構造体の配列であると定義される
属性表示されている必要があり、そうでなければJSONパッケージがアクセスすることができない
* / 
人構造体を入力し、{ 
	名前ストリング
	年齢INT 
	人民元のfloat64 
	性別BOOL 
	趣味[]文字列
} 

newPerson FUNC(文字列名、INT年齢、人民元のfloat64、性別BOOL、趣味[]の文字列){*人
	人:=新しい新しい(人物)
	person.Name名= 
	person.Age =年齢
	person.Rmb = RMB 
	person.Gender =性別
	=趣味person.Hobbies 
	人返す
} 

/ * 
関数はメインシステムコールをする前にinit関数を
メインの前に、初期化のための初期化機能を 
* /
人人* VAR
INIT FUNC(){ 
	fmt.Println( "INIT") 真"張全卵"、20、0.5、人= newPerson []の文字列{ " 煙"、 "飲料"、 "ホットヘッド"})
	fmt.Println (人物)
} 

/ *構造体の配列* / 
FUNCのmain041(){ 
	fmt.Printlnは( "主")は
	、バイトERR = json.Marshal(人*)
	IF ERR = nilは{!
		fmt.Printlnは(「シリアライズ失敗= ERR "ERR)
		リターン
	} 
	fmt.Println(文字列(バイト))
} 

/ * *地図/の配列
FUNCのmain042(){ 
	データマップ:=メイク(地図[文字列]インターフェイス{})
	データマップ["名前「] = "張全卵" 
	データマップ[ "年齢"] = "20は、" 
	データマップ[ "RMB"] = "0.5" 
	データマップ[ "性別"] = trueに
	データマップ[ "趣味"] = [] {文字列"煙"、 "飲料"、 "ホットヘッド"}

	fmt.Println( "主")
	バイト、ERR = json.Marshal(データマップ)
	ERR =ゼロ{なら!
		fmt.Println( "序列化失败ERR ="、ERR)
		リターン
	} 
	fmt.Println(文字列(バイト))
} 

/ *序列化切片(内置マップ)* / 
FUNC main043(){ 
	データマップ:=メイク(地図[ストリング]インターフェイス{})
	データマップ[ "名" = "张全蛋" 
	データマップ[ "年齢"] = " 20" 
	データマップ[ "人民元"] = "0.5" 
	データマップ[ "性別"] = trueの
	データマップ[ "趣味"] = []ストリング{ "抽烟"、 "喝酒"、 "烫头"} 

	dataMap2:=メイク(MAP [文字列]インターフェイス{})
	dataMap2 [ "名" = "张LIA蛋" 
	dataMap2 [ "年齢"] = "20"
	dataMap2 [ "人民元"] = "0.5" 
	dataMap2 [ "性別"] =真
	dataMap2 [ "趣味"] = []ストリング{ "抽烟"、 "喝酒"、 "烫头"}

	dataSlice:=メイク([]マップ[文字列]インターフェース{}、0)
	dataSlice =アペンド(dataSlice、データマップ、dataMap2)

	fmt.Println( "主")
	バイト、ERR = json.Marshal(dataSlice)
	IF ERR =! {ゼロ
		fmt.Println( "失敗シリアライズ= ERR"、ERR)
		リターン
	} 
	fmt.Println(文字列(バイト))
} 

/ *セクション(構造オブジェクトを建て)の配列* / 
FUNCメイン(){ 
	PERSON1:* = newPerson( "張全卵"、20、0.5、真、 []の文字列{ " 煙"、 "飲料"、 "ホットヘッド"})
	PERSON2:= * newPerson( "張卵2個"、10、0.5、真、 []の文字列{ "煙"、 "飲料"、 "ホットヘッド"})

	dataSlice:=メイク([]人、0)
	dataSlice =アペンド(dataSlice、PERSON1、PERSON2)

	fmt.Println( "主")
	バイト、ERR := JSON。元帥(dataSlice) 
	ERR!= nilの場合{
		fmt.Println( "失敗シリアライズ= ERR"、ERR)
		リターン
	} 
	fmt.Println(文字列(バイト))
}

  

おすすめ

転載: www.cnblogs.com/yunweiqiang/p/11973636.html