欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

go解析不確定的json

謝彥文1年前8瀏覽0評論

對于不確定的JSON內容,Go語言提供了一種快速、方便的解析方式。

首先,我們需要定義一個結構體,來存儲JSON中的鍵值對。由于不確定JSON中有哪些key和value,我們可以用interface{}類型來存儲value。

type data struct {
	Key interface{}
	Value interface{}
}

接下來,我們可以使用codec庫中的Unmarshal函數,將JSON字符串轉換成為map[string]interface{}類型,實現解析JSON的目的。

func parseJSON(jsonStr string) ([]data, error){
	var result []data
	var jsonMap map[string]interface{}
	err := codec.NewDecoderBytes([]byte(jsonStr)).Decode(&jsonMap)
	if err != nil {
return nil, err
	}
	for key, val := range jsonMap {
result = append(result, data{Key: key, Value: val})
	}
	return result, nil
}

在函數中,我們首先定義了一個data類型的切片result,并定義一個map[string]interface{}型的jsonMap,用于解析JSON。然后,我們使用codec庫中的NewDecoderBytes函數將JSON字符串解析為map[string]interface{}類型,再遍歷map中的所有鍵值對,將鍵名和值轉換成為data類型,存儲到result切片中。

最后,我們只需要調用該函數,并傳入JSON字符串,即可得到解析后的數據切片。

//測試代碼
func main(){
	jsonStr := `{"name": "Jack", "age": 20, "isGraduated": false, "friends": ["Tom", "Lucy"]}`
	result, err := parseJSON(jsonStr)
	if err != nil {
panic(err)
	}
	fmt.Printf("%+v\n", result)
}

以上就是Go語言解析不確定JSON的方法,非常簡單并且實用。