如果你使用golang來解析多層嵌套的JSON數據,那么你需要掌握一些技巧。這里將會介紹如何處理多層JSON數據。
首先,我們需要先加載這個JSON字符串,這可以通過一個HTTP GET請求或從文件中讀取JSON文件實現。在這里,我們使用一個簡單的字符串作為例子,你可以根據需要進行修改。
func main() { jsonString := ` { "name": "John", "age": 30, "children": [ { "name": "Sarah", "age": 5 }, { "name": "Peter", "age": 8 } ] } ` var result map[string]interface{} json.Unmarshal([]byte(jsonString), &result) name := result["name"].(string) age := result["age"].(float64) children := result["children"].([]interface{}) fmt.Println("Name:", name) fmt.Println("Age:", age) fmt.Println("Children:") for _, child := range children { childMap := child.(map[string]interface{}) childName := childMap["name"].(string) childAge := childMap["age"].(float64) fmt.Println("\tName:", childName) fmt.Println("\tAge:", childAge) } }
在上面的示例中,我們首先定義了一個JSON字符串,然后使用json.Unmarshal()
函數將其轉換為一個map[string]interface{}
類型的變量。
然后我們可以處理這個變量的不同字段。例如,我們從變量中獲取name
和age
字段的值,并將其打印到控制臺上。特別注意的是age
字段被映射為一個float64
類型的值。
我們還打印了子節點children
的信息,即它們的名稱和年齡。由于children
是一個數組,所以我們需要循環遍歷并處理一個接一個子節點。
使用golang解析JSON數據非常簡單,只要我們掌握了基本技巧和使用方法。多層JSON解析需要更多的關注,但如果你熟悉上述技巧,那么它也不會太困難。
上一篇c json 轉 對象