Я пытаюсь преобразовать []*Struct
в ответ JSON, я могу получить данные из []*Struct
и перебрать их. Часть, в которой я застрял - это итерация по циклу с возвратом данных в interface{}
Я пытался поместить интерфейс в интерфейс, но я просто не могу сводить концы с концами. Вот то, что у меня есть на данный момент, мне сказали, чтобы я обратился к StackOverflow, если у меня возникли проблемы.
package main
import (
"log"
"context"
"cloud.google.com/go/datastore"
)
var ctx = context.Background()
type ItemList struct {
Id string `datastore:"_id"`
Name string `datastore:"name"`
}
type Data struct {
ManyItems []Item
}
type Item struct {
Id string `json:"id"`
Name string `json:"name"`
}
func Get() ([]*ItemList, error) {
client, err := datastore.NewClient(ctx, "project-name")
if err != nil {
log.Println(err)
}
var Response []*ItemList
query := datastore.NewQuery("query")
_, err = client.GetAll(ctx, query, &Response)
if err != nil {
log.Println(err)
}
return Response, error
}
func Read() (interface{}) {
resp, err := Get()
if err != nil {
log.Println(err)
}
for i, _ := range resp {
// this is where i get stuck
r := &Data{
ManyItems: Item{
Id: resp[i].Id,
Name: resp[i].Name,
},
}
return r
}
}
Спасибо всем, кто читает это или может дать мне какое-то руководство, я действительно ценю это.