通过Golang模板中的属性值获取结构数组的元素

我想在 Golang 模板中显示某个 WooCommerce 产品自定义属性的值。


type Produkt struct {

   ...

   Attributes []struct {

        ID        int      `json:"id"`

        Name      string   `json:"name"`

        Position  int      `json:"position"`

        Visible   bool     `json:"visible"`

        Variation bool     `json:"variation"`

        Options   []string `json:"options"`

   }

   ...

}

实际的 json 对象如下所示:


{

   ...

   "attributes": [

   {},

   {

      "id": 2,

      "name": "Hersteller",

      "position": 5,

      "visible": true,

      "variation": false,

      "options": [

        "Lana Grossa"

      ]

    },

   {}

   ],

   ... 

}

因此,从这个示例中,我想找到属性数组的名称 =“Hersteller”的元素的“选项”数组 (Lana Grossa) 的第一个元素。


我试图调整语法以按索引获取元素,但无法让它工作......


<input type="text" value="{{ (index (value .Produkt.Attributes.Name eq "Hersteller").Options 0) }}"/>

<input type="text" value="{{ (index (Name .Produkt.Attributes eq "Hersteller").Options 0) }}"/>

<input type="text" value="{{ (index (.Produkt.Attributes.Name["Hersteller"]).Options 0) }}"/>

非常感谢任何提示


互换的青春
浏览 170回答 1
1回答

杨魅力

使用模板没有简单的方法可以做到这一点。你要先找到你需要的入口,然后看它的内容{{$name := "" }}{{ range .Product.Attributes }}{{if eq .Name "Hersteller"}}&nbsp; &nbsp;{{$name = (index .Options 0)}}{{end}}{{ end }}<input type="text" value="{{$name}}"/>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go