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...