I have a function that returns an interface{}. How can I serialize this into a JSON Array without "hardcoding" the fields in a struct. I am using https://github.com/jmoiron/jsonq to return the interface.
json.Unmarshal(resp.Bytes(), &response)
data := map[string]interface{}{}
dec := json.NewDecoder(strings.NewReader(resp.String()))
dec.Decode(&data)
jq := jsonq.NewQuery(data)
results, err := jq.Array("results")
if err != nil {
log.Fatalln("Unable to get results: ", err)
}
if len(results) == 0 {
return nil
}
return results // this is returning an interface{}
fmt.Println(results)? It should have taken care of that itself ;-) In either case, the stock JSON encoder is fine with acceptinginterface{}, so you'd just dov, err := json.Marshal(results)to get the[]bytesserialization inv.