在Golang Struct中分配DB列

时间:2016-05-17 15:12:12

标签: go

我有两个表,如零售商和数据库中的产品。零售商有很多产品。

以下是我在golang中定义的结构。

type Retailers struct {
  Id int 
  Name string
  Products []Product
}

type Product struct {
  Id int 
  Description string
  Url string 
}

以下是用于从数据库中获取数据的查询。

select r.id, r.name, p.id, p.description, p.url from retailers r JOIN products on r.id = r.retailer_id

使用上面的结构和查询我希望形成如下的json

{
    "id": "DFT",
    "name": "Amazon",
    "products":[
        {
            "id":"APP0001",
            "description":"Iphone5s",
            "url":"www.Iphone5s.com"
        },
        {
            "id":"APP0002",
            "description":"Iphone6s",
            "url":"www.Iphone6s.com"
        }
    ]
}

如何使用golang实现这一目标?

1 个答案:

答案 0 :(得分:0)

您需要在结构定义中指定struct标记:

type Retailers struct {
  Id int `json:"id"`
  Name string `json:"name"`
  Products []Product `json:"products"`
}

type Product struct {
  Id int `json:"id"`
  Description string `json:"description"`
  Url string `json:"url"`
}