json序列化 (gob標準庫)

2021-10-03 18:32:40 字數 1993 閱讀 1922

type s struct

}

1.json序列化

會將 int 型別,轉化成float64。

func

jsondemo()

,8),

} s1.data[

"count"]=

1 ret, err := json.

marshal

(s1.data)

if err !=

nil fmt.

printf

("%#v\n"

,string

(ret)

)var s2 = s,8

),} err = json.

unmarshal

(ret,

&s2.data)

if err !=

nil fmt.

println

(s2)

for_

, v :=

range s2.data

}輸出結果:

""value:1,

type

:float64

2.gob序列化

標準庫gob是golang提供的「私有」的編譯碼方式,它的效率會比json,xml等更高,特別適合在go語言程式間傳遞資料。

func

gobdemo()

,8),

} s1.data[

"count"]=

1// encode

buf :=

new(bytes.buffer)

enc := gob.

newencoder

(buf)

err := enc.

encode

(s1.data)

if err !=

nil b := buf.

bytes()

fmt.

println

(b)var s2 = s,8

),}// decode

dec := gob.

newdecoder

(bytes.

newbuffer

(b))

err = dec.

decode

(&s2.data)

if err !=

nil fmt.

println

(s2.data)

for_

, v :=

range s2.data

}

3.msgpack:

​ messagepack是一種高效的二進位制序列化格式。它允許你在多種語言(如json)之間交換資料。但它更快更小。

gob序列化與反序列化

gob支援變長型別編譯碼 效能對比 protocol buffer binary gob json 結構體序列化時,需要序列化的字段需要首字母大寫。序列化type people struct func serialize 構造緩衝區 buf bytes.newbuffer nil 生成gob編碼器 ...

json序列化 反序列化

json序列化 json的dumps方法可以將json格式資料序列為python的相關資料型別,比如str,常用於列印,另外,在序列化時,中文漢字被轉換為unicode編碼,在dumps函式中新增引數ensure ascii false可解決 dumps的indent參考可以調整顯示格式,即縮排,一...

Json序列化和反序列化

json測試 public class jsontest irun 實體序列化和反序列化 string json1 jsonhelper.serializeobject sdudent json1 student sdudent1 jsonhelper.deserializejsontoobject...