作為 Go 語言 Web 開發框架之一的 Beego,不僅能夠方便快捷地構建 Web 服務器,同時還提供了一些方便的操作方法和工具。比如在返回 JSON 數據時,Beego 提供了一種取值的方式,使得我們能夠方便地獲取所需要的數據。
首先,我們需要了解一下 Beego 如何返回 JSON 數據。如果是通過控制器實現的,我們可以這樣寫:
c.Data["json"] = map[string]interface{}{ "name": "John", "age": 18, "grade": 90, } c.ServeJSON()
在這個例子中,我們定義了一個 map 類型的數據,并將其傳遞給了 Data 屬性。然后通過 ServeJSON 方法將其返回給客戶端。在客戶端獲取到 JSON 數據后,我們可以通過以下方式來獲取里面的值:
var data map[string]interface{} json.Unmarshal(body, &data) name := data["name"].(string) // 獲取 name 值,轉成字符串類型 age := data["age"].(float64) // 獲取 age 值,轉成浮點數類型 grade := data["grade"].(int) // 獲取 grade 值,轉成整數類型
首先,我們通過 Unmarshal 方法將獲取到的 JSON 數據轉成 map 類型的 data 變量。然后通過類型斷言的方式,將其對應的值轉成我們需要的類型。在這個例子中,我們分別獲取了 name、age 和 grade 三個值,分別轉成了字符串類型、浮點數類型和整數類型。
需要注意的是,如果 JSON 數據中并沒有該值對應的鍵,那么以上方式將會返回一個空值。同時,在進行類型斷言時,需要保證轉換后的類型與 JSON 數據中該鍵對應的值的類型相同,否則將會導致編譯錯誤。
上一篇html 搞怪代碼
下一篇css3 div漸顯效果