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

go json解析成map

呂致盈1年前9瀏覽0評論

在Go語言中,我們經常需要對JSON格式的數據進行解析。當解析出的JSON數據需要做進一步的處理時,我們通常會將其轉換成map類型。下面我們就來看看如何使用Go語言解析JSON數據,并轉換成map類型。

首先,我們需要使用Go語言內置的encoding/json包來解析JSON數據。該包中的Unmarshal方法可以將JSON數據轉換成Go語言的結構體。而結構體本身也可以看作是一種含有key-value鍵值對的數據類型,也符合map的基本特點。因此,我們可以通過先將JSON數據解析成結構體,再將結構體轉換成map類型來實現需求。

下面是一個示例代碼:

import (
"encoding/json"
"fmt"
"log"
)
type Person struct {
Name string `json:"name"`
Age  int    `json:"age"`
}
func main() {
jsonStr := `{"name":"Tom","age":25}`
var p Person
err := json.Unmarshal([]byte(jsonStr), &p)
if err != nil {
log.Fatal(err)
}
// 將結構體轉換成map類型
m := make(map[string]interface{})
m["name"] = p.Name
m["age"] = p.Age
fmt.Println(m)
}

該代碼解析出了一個字符串變量jsonStr,并使用json.Unmarshal方法將其解析成了一個自定義結構體Person對象p。接著,我們使用make函數新建一個空map,將Person對象中的屬性值賦給相應的map鍵值對,并打印出該map。這里需要注意,由于我們將所有屬性都存入map中,因此map的value類型我們采用了interface{}通用類型。

當然,該代碼中我們只對Person結構體中的兩個屬性進行了轉換,若需要轉換更多的屬性必須在map中進行額外添加。但不管如何,通過該示例代碼,我們已經能夠成功地將JSON數據轉換成了map類型,方便后續的處理。