2016-05-17 7 views
0

私は、小売業者とデータベースの製品のような2つのテーブルを持っています。小売業者には多くの製品があります。Golang StructにDB列を割り当てます。

以下は、私がgolangで定義した構造体です。

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

type Product struct { 
    Id int 
    Description string 
    Url string 
} 

以下は、データベースからデータを取得するためのクエリです。私は

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

どのように私はこの使用してgolangを達成することができ、以下のようなJSONを形成したい上記の構造体とクエリを使用して

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

?あなたの構造体の定義で構造体タグを指定する必要が

+1

は、構造体をシリアル化するか、構造体にあなたのデータベースレコードのマッピングについてのあなたの問題ですか?これらは2つの別々の問題です。 – mpm

+0

@mpmデータベースレコードを構造体にマッピングすることが私の問題です。私のSQLクエリは2行を返しています。上記のようにJSONを作成したいと思います。 – SaravanaKumAr

+1

ライブラリを使用したほうが良いです。https://github.com/avelino/awesome-go#ormというORMの束があります。これは、SQL alchemy https:/ /qb.readme.io/ – mpm

答えて

0

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"` 
} 
+0

私の問題は、データベースクエリが2つの行を返していることです。それを使って私は上記のjsonを形成したいと思う。 – SaravanaKumAr

+0

行はどのような形式で返されますか?問題がシリアル化されている場合は、https://github.com/go-gorp/gorpを試してみてください。 – hbejgel

関連する問題