亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

根據 url 查詢參數創建嵌套結構

根據 url 查詢參數創建嵌套結構

Go
小怪獸愛吃肉 2022-11-23 20:37:10
我的目標是從數據庫中獲取一些過濾記錄。過濾基于依賴于另一個結構的結構:type Group struct {      ID          primitive.ObjectID      Name        string}type Role struct {    ID          primitive.ObjectID      Name        string                  Description string                  Groups      []*group.Group     }我從 URL 查詢參數創建一個角色結構對象:var roleWP Roleif r.URL.Query().Has("name") {    name := r.URL.Query().Get("name")    roleWP.Name = name}if r.URL.Query().Has("description") {    description := r.URL.Query().Get("description")    roleWP.Description = description}if r.URL.Query().Has("groups") {   //How would look groups parameter?}結構的填充name和description字段Role非常簡單。整個 url 將是:myhost/roles?name=rolename&description=roledescription但是如果我想為Group結構傳遞數據,url 會是什么樣子呢?是否可以在查詢參數中將數據作為 json 對象傳遞?另外,我想提到的那個groups字段Role是一個數組。我理想的虛擬 url 看起來像:myhost/roles?name=rolename&description=roledescription&groups={name:groupname1}&groups={name:groupname2}
查看完整描述

1 回答

?
哈士奇WWW

TA貢獻1799條經驗 獲得超6個贊

遍歷組,拆分:,創建組并附加到切片:


roleWP := Role{

    Name:        r.FormValue("name"),

    Description: r.FormValue("description"),

}

for _, g := range r.Form["groups"] {

    g = strings.TrimPrefix(g, "{")

    g = strings.TrimSuffix(g, "}")

    i := strings.Index(g, ":")

    if i < 0 {

        // handle error

    }

    roleWP.Groups = append(roleWP.Groups, &Group{g[:i], g[i+1:]})

}

以下是如何使用 JSON 而不是 OP 的理想格式:


roleWP := Role{

    Name:        r.FormValue("name"),

    Description: r.FormValue("description"),

}

for _, s := range r.Form["groups"] {

    var g Group

    err := json.Unmarshal([]byte(s), &v)

    if err != nil {

        // handle error

    }

    roleWP.Groups = append(roleWP.Groups, &g)

}


查看完整回答
反對 回復 2022-11-23
  • 1 回答
  • 0 關注
  • 124 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號