Go 語言中的 json 包提供了一種便捷的方式來對 JSON 數據進行解析和序列化。在應用程序中,經常需要以程序的形式處理 JSON 數據。本文將介紹如何使用 Go 語言遍歷 JSON 數據。
首先,需要使用
Unmarshal函數將 JSON 數據解碼到相應的 Go 數據結構中。可以使用標準庫中的
json.Unmarshal函數進行解碼操作:
type Person struct { Name string Age int } func main() { jsonString := `{"Name":"Tom","Age":20}` var person Person json.Unmarshal([]byte(jsonString), &person) fmt.Printf("Name: %s, Age: %d", person.Name, person.Age) }
在這個示例中,使用了一個名為 Person 的結構體作為解碼目標。在向
Unmarshal函數提供 JSON 數據和結構體指針之后,將更新結構體的字段并打印輸出。
在解碼 JSON 數據之后,可以使用 for 循環遍歷 JSON 數據中的數組或對象。在下面這個示例中,JSON 數據中包含一個名為 students 的數組,其中每個元素包含兩個字段:Name 和 Age。
type Student struct { Name string Age int } func main() { jsonString := `{"students":[{"Name":"Tom","Age":20},{"Name":"Jerry","Age":21}]}` var data map[string][]Student json.Unmarshal([]byte(jsonString), &data) for _, student := range data["students"] { fmt.Printf("Name: %s, Age: %d \n", student.Name, student.Age) } }
在這個示例中,使用了一個名為 Student 的結構體來解碼學生信息。在打印輸出之前,使用 for 循環遍歷 students 數組中的每個元素,并對其中的字段進行操作。
上述示例為遍歷 JSON 數據中的數組提供了一個簡單的方法。同樣地,也可以使用類似的方式遍歷 JSON 數據中的對象。
上一篇go如何解析json數據
下一篇go存儲過程json