Go語言是一種非常強大的編程語言,它在處理復雜的JSON數據方面表現出色。特別是在使用map這個數據類型時,Go語言可以輕松地讀取、寫入和修改深度嵌套的JSON數據結構。
// 下面是一個示例JSON數據結構 data := map[string]interface{}{ "name": "小明", "age": 18, "address": map[string]interface{}{ "province": "廣東", "city": "深圳", "street": "科技園南區", "postcode": "518057", }, "scores": []int{98, 87, 93, 78}, } // 使用JSON Marshal函數將 Go map 轉換為 JSON 字符串 jsonStr, err := json.Marshal(data) if err != nil { fmt.Println("failed to stringify data:", err) return } // 使用JSON Unmarshal函數將JSON字符串轉換為Go map結構 var newData map[string]interface{} if err := json.Unmarshal(jsonStr, &newData); err != nil { fmt.Println("failed to parse jsonString:", err) return } // 修改JSON數據 newData["name"] = "小紅" newData["address"].(map[string]interface{})["city"] = "珠海" newData["scores"].([]int)[0] = 99 // 再次將Go map 轉換為 JSON字符串輸出 updatedJSON, err := json.Marshal(newData) if err != nil { fmt.Println("failed to stringify newData:", err) return } fmt.Println(string(updatedJSON))
上面的代碼演示了如何使用Go語言處理復雜的JSON數據,通過map類型的嵌套,可以輕松地實現JSON結構的讀取、寫入和修改。同時,使用Go語言的標準庫,可以方便地將JSON字符串和Go map結構相互轉換,實現數據的兼容傳輸。
上一篇go 多個json組合
下一篇mysql前一天0點