golang json基礎使用

2021-10-07 10:36:44 字數 1759 閱讀 8953

golang中直接匯入「encoding/json」包即可使用json.

主要是json.marshal與json.unmarshal兩個函式的使用。

func

marshal

(v inte***ce)(

byte

,error

)func

unmarshal

(data [

]byte

, v inte***ce

)error

這裡示例**及輸出為:

package main

import

("fmt"

"encoding/json"

)type student struct

func

main()

b, err := json.

marshal

(s1)

if err !=

nil fmt.

printf

("s1: %s\n"

, b)

var s2 student

err = json.

unmarshal

(b,&s2)

if err !=

nil fmt.

printf

("s2: %#v\n"

, s2)

}

輸出:

s1:

s2: main.student

延用以上的**,將普通結構體改為具名巢狀結構體:

type bodyinfo struct

type student struct

此時s1有不同的初始化方法:

初始化一:

s1 := student

,}

輸出:

s1:

}s2: main.student

}

初始化二:

var s1 student

s1.name =

"jack"

s1.age =

20 s1.bodyinfo = bodyinfo

輸出:

s1:

}s2: main.student

}

延用以上的**,將普通結構體改為匿名巢狀結構體:

type bodyinfo struct

type student struct

此時s1有不同的初始化方法:

初始化一:

var s1 student

s1.name =

"jack"

s1.age =

20 s1.bodyinfo = bodyinfo

輸出:

s1:

s2: main.student

}

初始化二:

s1 := student

,}

輸出:

str:

s2:main.student

}

注:具名巢狀結構體與匿名巢狀結構體在序列化後存在是否攤平的差別。

golang json使用筆記

在json編碼中,最麻煩的是json陣列,下面記錄一下我在json編碼遇到的難題和解決的源 如果要打包這種格式 status 1 如下 package main import encoding json fmt func main t ed aaa t rs 23 t gf 23.45 res ma...

Golang json用法詳解

簡介 json格式可以算我們日常最常用的序列化格式之一了,go語言作為乙個由google開發,號稱網際網路的c語言的語言,自然也對json格式支援很好。但是go語言是個強型別語言,對格式要求極其嚴格而json格式雖然也有型別,但是並不穩定,go語言在解析 為非強型別語言時比如php等序列化的json...

golang json用法講解

下面看看乙個正常的結構體轉json是什麼樣子 package main import encoding json fmt product 商品資訊 type product struct func main p.name xiao mi 6 p.isonsale true p.number 1000...