2017-09-10 3 views
1

I definiert struct wie:Wie Verwendung Objekt von [] struct in golang

type json-input []struct { 
    Data string `json:"data"` 
} 

dass Abstellungs json String wie

[{ "Daten": "einige Daten"}, { "Daten ":" einige Daten "}]

data := &json-input{} 
_ = json.Unmarshal([]byte(resp.Data), data) 

Wie i Aufgabe dieser Struktur für wiederum von Daten

verwenden können

Antwort

1

Sie können keine Bindestriche in Typdeklarationen verwenden und möchten möglicherweise resp anstelle von resp.Data entpacken; Das heißt, dass Sie so etwas wie

import (
    "encoding/json" 
    "fmt" 
) 

type jsoninput []struct { 
    Data string `json:"data"` 
} 

func main() { 
    resp := `[{"data":"some data"}, {"data":"some more data"}]` 
    data := &jsoninput{} 
    _ = json.Unmarshal([]byte(resp), data) 
    for _, value := range *data { 
     fmt.Println(value.Data) // Prints "some data" and "some more data" 
    } 
} 

https://play.golang.org/p/giDsPzgHT_

tun wollen