猿问

如何取消马歇尔复合筑巢的山药

如何取消封送这些数据?我正在尝试提取名称,描述,版本和其他字段。但是当我打印出未封送的内容时,我得到以下内容:


索引: {Api版本:v1 条目:地图[] 发布时间:2016-10-06T16:23:20.499029981-06:00}


这是我到目前为止尝试过的。


package main


import (

    "fmt"

    "log"


    "gopkg.in/yaml.v2"

)


const index_yaml = `apiVersion: v1

entries:

    alpine:

    - created: 2016-10-06T16:23:20.499814565-06:00

        description: Deploy a basic Alpine Linux pod

        digest: 99c76e403d752c84ead610644d4b1c2f2b453a74b921f422b9dcb8a7c8b559cd

        home: https://helm.sh/helm

        name: alpine

        sources:

        - https://github.com/helm/helm

        urls:

        - https://technosophos.github.io/tscharts/alpine-0.2.0.tgz

        version: 0.2.0

    - created: 2016-10-06T16:23:20.499543808-06:00

        description: Deploy a basic Alpine Linux pod

        digest: 515c58e5f79d8b2913a10cb400ebb6fa9c77fe813287afbacf1a0b897cd78727

        home: https://helm.sh/helm

        name: alpine

        sources:

        - https://github.com/helm/helm

        urls:

        - https://technosophos.github.io/tscharts/alpine-0.1.0.tgz

        version: 0.1.0

    nginx:

    - created: 2016-10-06T16:23:20.499543808-06:00

        description: Create a basic nginx HTTP server

        digest: aaff4545f79d8b2913a10cb400ebb6fa9c77fe813287afbacf1a0b897cdffffff

        home: https://helm.sh/helm

        name: nginx

        sources:

        - https://github.com/helm/charts

        urls:

        - https://technosophos.github.io/tscharts/nginx-1.1.0.tgz

        version: 1.1.0

generated: 2016-10-06T16:23:20.499029981-06:00`


type Entry struct {

    Created     string `yaml:"created"`

    Description string `yaml:"created"`

    Home        string `yaml:"home"`

}


type Entries map[string][]Entry


type Index struct {

    ApiVersion string  `yaml:"apiVersion"`

    Entry      Entries `yaml:"entry"`

    Generated  string  `yaml:"generated"`

}

鸿蒙传说
浏览 106回答 2
2回答

繁星点点滴滴

这是一个很棒的服务,你可以用它来为你的yamls制作结构。这是其工作的结果。    type AutoGenerated struct {        APIVersion string `yaml:"apiVersion"`        Entries    struct {            Alpine []struct {                Created struct {                } `yaml:"created"`                Description string   `yaml:"description"`                Digest      string   `yaml:"digest"`                Home        string   `yaml:"home"`                Name        string   `yaml:"name"`                Sources     []string `yaml:"sources"`                Urls        []string `yaml:"urls"`                Version     string   `yaml:"version"`            } `yaml:"alpine"`            Nginx []struct {                Created struct {                } `yaml:"created"`                Description string   `yaml:"description"`                Digest      string   `yaml:"digest"`                Home        string   `yaml:"home"`                Name        string   `yaml:"name"`                Sources     []string `yaml:"sources"`                Urls        []string `yaml:"urls"`                Version     string   `yaml:"version"`            } `yaml:"nginx"`        } `yaml:"entries"`        Generated struct {        } `yaml:"generated"`    }    var doc AutoGenerated    err := yaml.Unmarshal([]byte(index_yaml), &doc)    if err != nil {        log.Fatalf("error: %v", err)        return    }    fmt.Printf("Doc: %+v", doc)您可以根据需要添加,或根据需要更改结构。omitempty更新:package mainimport (    "fmt"    "log"    "gopkg.in/yaml.v2")type Entry struct {    Created     string   `yaml:"created"`    Description string   `yaml:"description"`    Digest      string   `yaml:"digest"`    Home        string   `yaml:"home"`    Name        string   `yaml:"name"`    Sources     []string `yaml:"sources"`    Urls        []string `yaml:"urls"`    Version     string   `yaml:"version"`}type AutoGenerated struct {    APIVersion string             `yaml:"apiVersion"`    Entries    map[string][]Entry `yaml:"entries"`    Generated  string             `yaml:"generated"`}func main() {    var doc AutoGenerated    err := yaml.Unmarshal([]byte(index_yaml), &doc)    if err != nil {        log.Fatalf("error: %v", err)        return    }    fmt.Printf("Doc: %+v", doc)}const index_yaml = `apiVersion: v1entries:  alpine:    - created: 2016-10-06T16:23:20.499814565-06:00      description: Deploy a basic Alpine Linux pod      digest: 99c76e403d752c84ead610644d4b1c2f2b453a74b921f422b9dcb8a7c8b559cd      home: https://helm.sh/helm      name: alpine      sources:      - https://github.com/helm/helm      urls:      - https://technosophos.github.io/tscharts/alpine-0.2.0.tgz      version: 0.2.0    - created: 2016-10-06T16:23:20.499543808-06:00      description: Deploy a basic Alpine Linux pod      digest: 515c58e5f79d8b2913a10cb400ebb6fa9c77fe813287afbacf1a0b897cd78727      home: https://helm.sh/helm      name: alpine      sources:      - https://github.com/helm/helm      urls:      - https://technosophos.github.io/tscharts/alpine-0.1.0.tgz      version: 0.1.0  nginx:    - created: 2016-10-06T16:23:20.499543808-06:00      description: Create a basic nginx HTTP server      digest: aaff4545f79d8b2913a10cb400ebb6fa9c77fe813287afbacf1a0b897cdffffff      home: https://helm.sh/helm      name: nginx      sources:      - https://github.com/helm/charts      urls:      - https://technosophos.github.io/tscharts/nginx-1.1.0.tgz      version: 1.1.0generated: 2016-10-06T16:23:20.499029981-06:00`

杨魅力

首先,您必须修改 yaml 输入的缩进,然后根据建议修改 from 到:Entry      Entriesyaml:"entry"yaml:"entries"package mainimport (    "fmt"    "log"    "gopkg.in/yaml.v2")const index_yaml = `apiVersion: v1entries:  alpine:    - created: 2016-10-06T16:23:20.499814565-06:00      description: Deploy a basic Alpine Linux pod      digest: 99c76e403d752c84ead610644d4b1c2f2b453a74b921f422b9dcb8a7c8b559cd      home: https://helm.sh/helm      name: alpine      sources:      - https://github.com/helm/helm      urls:      - https://technosophos.github.io/tscharts/alpine-0.2.0.tgz      version: 0.2.0    - created: 2016-10-06T16:23:20.499543808-06:00      description: Deploy a basic Alpine Linux pod      digest: 515c58e5f79d8b2913a10cb400ebb6fa9c77fe813287afbacf1a0b897cd78727      home: https://helm.sh/helm      name: alpine      sources:      - https://github.com/helm/helm      urls:      - https://technosophos.github.io/tscharts/alpine-0.1.0.tgz      version: 0.1.0  nginx:    - created: 2016-10-06T16:23:20.499543808-06:00      description: Create a basic nginx HTTP server      digest: aaff4545f79d8b2913a10cb400ebb6fa9c77fe813287afbacf1a0b897cdffffff      home: https://helm.sh/helm      name: nginx      sources:      - https://github.com/helm/charts      urls:      - https://technosophos.github.io/tscharts/nginx-1.1.0.tgz      version: 1.1.0generated: 2016-10-06T16:23:20.499029981-06:00`type Entry struct {    Created     string `yaml:"created"`    Description string `yaml:"description"`    Home string `yaml:"home"`}type Entries map[string][]Entrytype Index struct {    ApiVersion string  `yaml:"apiVersion"`    Entry      Entries `yaml:"entries"`    Generated  string  `yaml:"generated"`}func main() {    var index Index    err := yaml.Unmarshal([]byte(index_yaml), &index)    if err != nil {        log.Fatal("File reading error", err)        return    }    fmt.Printf("Index: %+v", index)}输出:Index: {ApiVersion:v1 Entry:map[alpine:[{Created:2016-10-06T16:23:20.499814565-06:00 Description:Deploy a basic Alpine Linux pod Home:https://helm.sh/helm} {Created:2016-10-06T16:23:20.499543808-06:00 Description:Deploy a basic Alpine Linux pod Home:https://helm.sh/helm}] nginx:[{Created:2016-10-06T16:23:20.499543808-06:00 Description:Create a basic nginx HTTP server Home:https://helm.sh/helm}]] Generated:2016-10-06T16:23:20.499029981-06:00}
随时随地看视频慕课网APP

相关分类

Go
我要回答