2017-09-10 2 views
1

I défini struct comme:Comment objet l'utilisation de [] struct dans golang

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

cette chaîne JSON Unmarshal comme

[{ "data": "certaines données"}, { "données ":" certaines données "}]

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

Comment puis-je utiliser l'objet de ce struct tour des données

Répondre

1

Vous ne pouvez pas utiliser les traits d'union dans les déclarations de type, et vous voulez probablement démasquer à resp au lieu de resp.Data; qui est, vous voudrez peut-être faire quelque chose comme

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_