色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

go獲取json 數組

錢良釵2年前11瀏覽0評論

go語言是一種強類型靜態語言,通常應用于網絡編程、云計算等領域。在進行開發過程中,獲取json數組是一個很常見的操作。本文將介紹如何使用go語言的內置包獲取json數組。

首先,需要引入go語言的內置包“encoding/json”,該包提供了一些函數和結構體,用于對JSON數據進行編解碼。

// 引入encoding/json內置包
import "encoding/json"

可以通過Unmarshal函數將json字符串轉換為go語言的數據結構。具體來說,該函數需要兩個參數:json字符串和將json解碼后的數據結構的引用。

// 定義json字符串和解碼后的數據結構
var jsonStr = `{
	"users": [
{
"name": "Tom",
"age": 18
},
{
"name": "Jerry",
"age": 20
}
	]
}`
type user struct {
	Name string `json:"name"`
	Age  int    `json:"age"`
}
type users struct {
	Users []user `json:"users"`
}
// 使用Unmarshal函數解析json數組
var data users
err := json.Unmarshal([]byte(jsonStr), &data)
fmt.Println(data.Users[0].Name) // Tom
fmt.Println(data.Users[1].Age)  // 20

上面的代碼定義了一個json字符串和一個解碼后的數據結構。通過調用Unmarshal函數,將json解析為數據結構之后即可使用。

如果需要將go語言中的數據結構轉換為json字符串,則可以使用json.Marshal函數。該函數需要一個參數:go語言的數據結構,返回一個json字符串和一個錯誤。

// 定義切片,用于存放user數據
var userList []user
userList = append(userList, user{Name: "Tom", Age: 18})
userList = append(userList, user{Name: "Jerry", Age: 20})
// 使用Marshal函數將數據轉換為json字符串
jsonBytes, err := json.Marshal(userList)
if err != nil {
	fmt.Println("json marshal error:", err)
	return
}
fmt.Println(string(jsonBytes)) // [{"name":"Tom","age":18},{"name":"Jerry","age":20}]

通過上述代碼,便可以通過內置包“encoding/json”很輕松地獲取和轉換json數組了。