golang revel下免聲明對象動態接收json post 資料

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

寫慣了node服務端API,換到靜態類型語言很不爽,規則一大堆~

要動態必需的!必須的!的!

這裡注意幾個包

json轉換和解析用

github.com/bitly/go-simplejson

go get github.com/bitly/go-simplejson


body轉換解析用 直接匯入

stringsio/ioutil


POSTMAN提交資料

{"data":"yes","hotel":["caonima","gelebi"],"HP":10000000}

控制器action 資料POST接收

package controllersimport (    "github.com/revel/revel"    "io/ioutil"    "strings"    console "fmt"    simplejson"github.com/bitly/go-simplejson" ) type Hotels struct {    *revel.Controller} type Dct map[string]interface {}func (c Hotels) Index() revel.Result {    if strings.Contains(c.Request.ContentType, "application/json") {        content, _ := ioutil.ReadAll(c.Request.Body)        cn_json, _ := simplejson.NewJson([]byte(content))        console.Println(cn_json)        cn_body, _ := cn_json.Get("data").String()        cn_hotel, _ := cn_json.Get("hotel").Array()        cn_hp, _ := cn_json.Get("HP").Int()        console.Println(cn_hp)        console.Println(cn_body)        for _, v := range cn_hotel {         console.Println("v",v)        }    }    tt:=Dct{        "name":"春哥",        "屬性":Dct{"pet":"草尼馬","Skill":[]string{"霸氣春哥拳","原地複活"}},        }    return c.RenderJson(tt)}


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.