どなたかご教授くださいお願いします。
###前提・実現したい
取得した値を整形し、jsonとして出力したい。
DBから値を取り出し、その値でかぶっている値を先頭にしてjsonとして出力したい。
###DBにある値
id student class
1 タカハシ 桜
2 スズキ 桜
3 タナカ 桜
4 イシバシ 梅
5 ナカヤマ 梅
###jsonで全件取得した時
[
{
"id": 1,
"student": "タカハシ",
"class": "桜"
},
{
"id": 2,
"student": "スズキ",
"class": "桜"
},
{
"id": 3,
"student": "タナカ",
"class": "桜"
},
{
"id": 4,
"student": "イシバシ",
"class": "梅"
},
{
"id": 5,
"student": "ナカヤマ",
"class": "梅"
}
]
###上記を以下のように出力したいです。(classでくくり学生を表示したい。)
{
"桜": [
{
"id": 1,
"student": "タカハシ"
},
{
"id": 2,
"student": "スズキ"
},
...
],
"梅": [
{
"id": 4,
"student": "イシバシ"
},
...
]
}
###該当のソースコード
struct.go
1type Member struct { 2 Id int64 `db:"id" json:"id"` 3 Student string `db:"student" json:"student"` 4 Class string `db:"class" json:"class"` 5} 6
model.go
1func GetStudentMember() []Member { 2 query := "SELECT * FROM member" 3 4 var mem []Member 5 _, err := DbMap.Select(&mem, query) 6 CheckErr(err, "Executing query failed") 7 8 return mem 9}
routes.go
1func GetStudentMember(w http.ResponseWriter, req *http.Request, ps httprouter.Params) { 2 R.JSON(w, http.StatusOK, models.GetStuentMember()) 3}
###試したこと
全件を表示させ、出力することはできたのですが、共通部分をまとめjsonで出力することができていません。
GO側で、上記のように出力したいです。
###補足情報(言語/FW/ツール等のバージョンなど)
mac
goは最新
mysql 5.6
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/10/24 06:40