I am using mysql database with golang (go). Below is my db structure for treeview
ScreenID ParentID ScreenName
1 0 Home
2 0 Run Records
3 0 Requests
4 3 NDR
5 4 Add NDR Request
Struct I am using is:
type Screens struct {
ProductID int
ParentID int
ScreenName string
Children []Screens
}
Below is my golang code
db, err := sql.Open("mysql", username + ":" + password + "@tcp(127.0.0.1:3306)/" + dbName)
rows, err := db.Query("call usp_select_screens(1)")
for rows.Next() {
err := rows.Scan(&screens.ProductID, &screens.ParentID, &screens.ScreenName)
I'm trying to store the query result as a json. I need guidance in taking the output and marshaling it into a json in the form of:
[
{
"ParentId":"0",
"ScreenId":"1",
"Name":"Home"
},
{
"ParentId":"0",
"ScreenId":"2",
"Name":"Run Records"
},
{
"ParentId":"0",
"ScreenId":"3",
"Name":"Requests",
"Children":[
{
"Name":"NDR",
"ScreenId":"4",
"ParentId":"3",
"Children":[
{
"Name":"Add NDR Request",
"ScreenId":"5",
"ParentId":"4"
}
]
}
]
}
]