Ich versuche, die USDA's Farmers Market Directory API zu verwenden, um eine Daten zu erhalten, in der Nähe der Bauernmärkte sind, mit einer Postleitzahl. Ich speichere die entordnet Körper der Antwort in:Wie kann ich JSONp von einer Anfrage zurückmelden?
type marketResponse struct {
MapsLink string `json:"GoogleLink"`
Address string `json:"Address"`
Schedule string `json:"Schedule"`
Products string `json:"Products"`
}
mit dem Code:
//TODO: location: "http://search.ams.usda.gov/farmersmarkets/v1/data.svc/locSearch?lat=" + lat + "&lng=" + lng
resp, err := http.Get("http://search.ams.usda.gov/farmersmarkets/v1/data.svc/zipSearch?zip=" + zipcode)
if err != nil {
log.Printf("Could net search zipcode %s: %v", zipcode, err)
}
defer func() {
if err := resp.Body.Close(); err != nil {
log.Println(err)
}
}()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Println(err)
}
newMarket := &marketResponse{}
if err := json.Unmarshal(body, newMarket); err != nil {
log.Println(err)
}
log.Println("response: " + newMarket.Address)
Das Problem ist, die Antwort Körper in JSONP ist, und ich bin unmarshalling in JSON. Wie kann ich in JSONp mithilfe eines externen Pakets entpacken?
Ich wurde zum ex unter dem Beispiel JavaScript verweisen: 'detailResultHandler ( { "marketdetails": { "GoogleLink":" http://maps.google.com/?q=38.881112%2C% 20-77.112179% 20 (% 22Ballston + FRESHFARM + Markt% 22) ", " Adresse ":" 901 N Taylor St, Ballston, Virginia, 22203 ", " Zeitplan ":" Juni - Oktober Donnerstag 15:00 zu 19:00 PM ", " Produkte ":" Backwaren; Käse und/oder Milchprodukte; Eier; Frisches Obst und Gemüse; Frische und/oder getrocknete Kräuter; Honig; Fleisch; Geflügel " } } };' Obwohl, ich verstehe Ihren Punkt und wird es mit zwei Strukturen, 'marketDetails' und was drin ist, umgestalten –