Golang YAML-Lesung mit Karte der Karten
Hier ist meine YAML-Datei.
description: fruits are delicious
fruits:
apple:
- red
- sweet
lemon:
- yellow
- sour
Ich Lesen kann eine flachere version dieses mit der gopkg.in/yaml.v1
- Paket, aber ich bin stecken versuchen, herauszufinden, wie zu Lesen in dieser YAML-Datei, wenn es bekam, was scheint wie eine Karte von Karten.
package main
import (
"fmt"
"gopkg.in/yaml.v1"
"io/ioutil"
"path/filepath"
)
type Config struct {
Description string
Fruits []Fruit
}
type Fruit struct {
Name string
Properties []string
}
func main() {
filename, _ := filepath.Abs("./file.yml")
yamlFile, err := ioutil.ReadFile(filename)
if err != nil {
panic(err)
}
var config Config
err = yaml.Unmarshal(yamlFile, &config)
if err != nil {
panic(err)
}
fmt.Printf("Value: %#v\n", config.Description)
fmt.Printf("Value: %#v\n", config.Fruits)
}
Ist, kann es nicht die verschachtelten Früchte. Es scheint wieder leer. Value: []main.Fruit(nil)
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie eine map von string-slices stellen die Frucht Eigenschaften:
Drucken die deren Marshalling rückgängig gemacht wurde-Konfiguration mit
erzeugt die folgende Ausgabe (ohne die Leerzeichen, die ich Hinzugefügt zur besseren Lesbarkeit):