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

golang中json格式取值

夏志豪2年前10瀏覽0評論

在golang中處理json格式數據時,我們經常需要從json中獲取某個字段的值,這時候就需要使用golang的Json Unmarshal和Json Decode方法來獲取。

首先,我們需要導入"encoding/json"這個包,它提供了處理json格式數據的方法。

import (
"encoding/json"
)

接下來我們可以使用Unmarshal方法將json格式的字符串轉化為結構體,在結構體中就可以直接使用字段名查找對應的值。

type Person struct {
Name string `json:"name"`
Age  int    `json:"age"`
}
jsonstr := `{"name":"John","age":30}`
var p Person
json.Unmarshal([]byte(jsonstr), &p)
fmt.Println(p.Name, p.Age) // Output: John 30

在上面的代碼中,我們先定義了一個結構體Person,并在結構體字段上添加了json標簽,用于指定json字符串中的字段名。接著,我們將json格式的字符串jsonstr傳入json.Unmarshal方法中,同時將聲明的結構體p的地址傳入方法中,該方法調用完成后,json字符串中對應的值就可以通過結構體的字段直接訪問。

如果我們只需要獲取某個字段的值,可以使用json Decode方法。

type Person struct {
Name string `json:"name"`
Age  int    `json:"age"`
}
jsonstr := `{"name":"John","age":30}`
var p map[string]interface{}
json.NewDecoder(strings.NewReader(jsonstr)).Decode(&p)
fmt.Println(p["name"], p["age"]) // Output: John 30

在上面代碼中,我們先定義了一個map類型的變量p,并傳入了json格式的字符串jsonstr。然后使用json.NewDecoder方法將字符串轉化為json.Decoder對象,調用對象的Decode方法將json數據解碼成map類型。

以上就是golang中json格式取值的基本方法,當然,如果你的json數據格式更加復雜,還需要使用更多的處理方法,建議多看看官方文檔。