SQLクエリから返された値を多次元構造体に割り当てたいと思います。 JSONとしてこの多次元構造体をWebフロントエンドに出力したいと思います。Golangはsqlクエリから多次元構造体に値を代入します
編集:SQLクエリは、単純に 'SELECT * FROM policy'です。これは多くのキー/値を返しますが、この例では 'policy_id'、 'class_id'、 'name'フィールドだけを使用しています。
私の構造体
type table struct {
Policy string `json:"policy"`
P []Parameters `json:"parameters"`
}
type Parameters struct {
Policy_id string `json:"policy_id"`
Class_id string `json:"class_id"`
Name string `json:"name"`
.... <removed many more entries of the same type>
}
I rows.Nextを使用して、SQLスルー出力、ループ()//問題のために重要ではありません。
私が行う場合:その後、
p := Parameters{}
:
err = rows.Scan(&p.Policy_id, &p.Class_id, &p.Name)
Pは私が期待するキー/値のペアが移入されます。
編集:テーブル構造体の一意キーとしてクエリ文字列から返された名前を使用したいので、p.Nameを追加しました。これは以前は分かりませんでした。
しかし、私は上位レベルの構造体 'テーブル'にデータを取得したいと考えています。最終的にJSONで出力が次のようになります:
{ポリシー: "policyName1"、P:[{policy_id: '1'、class_id:'01 '}、{policy_id:' 2 '、class_id: 「02」}など]}
私はこのようなことを試してみた:
t := table {
Policy: p.Name,
P: p,
}
およびその他のいくつかの組み合わせが、この時点で私は推測している誰かが、右に私を指すことができます。方向?
私は正しく理解していません。パラメータテーブルにポリシー名が含まれていますか?テーブルに複数のポリシーがありますか? –
可能であれば、表スキーマを表示してください。 –
はい、それは理にかなっていません。そこに「名前」の値を入れる必要があるので、質問を編集します。 – Heath