【问题标题】:Unmarshal yaml incorrectly?错误地解组yaml?
【发布时间】:2018-05-15 08:58:33
【问题描述】:

我正在使用yaml 来解码 yaml 文件。然而,结果并不如预期。 EncryptKey 未提取。这是我的测试代码:

package main

import (
    "fmt"
    "log"

    "gopkg.in/yaml.v2"
)

var data = `
port: 8080
encryptKey: "jfgjfgkfgd"
`

type Config struct {
    Port       int    `json:"port"`
    EncryptKey string `json:"encryptKey"`
}

func main() {
    t := Config{}

    err := yaml.Unmarshal([]byte(data), &t)
    if err != nil {
        log.Fatalf("error: %v", err)
    }
    fmt.Printf("--- t:\n%v\n\n", t)
}

我得到这样的结果:--- t: {8080 }


这是我的粗心。我应该使用标签yaml 而不是json

【问题讨论】:

    标签: go yaml


    【解决方案1】:

    您使用的是json 标签而不是yaml 标签。像这样修复你的结构定义:

    type Config struct {
        Port       int    `yaml:"port"`
        EncryptKey string `yaml:"encryptKey"`
    }
    

    【讨论】:

    • 嘿,没问题。很高兴我能帮上忙。
    猜你喜欢
    • 1970-01-01
    • 2021-09-15
    • 2015-08-17
    • 1970-01-01
    • 1970-01-01
    • 2019-01-20
    • 2016-10-26
    • 1970-01-01
    • 2018-10-13
    相关资源
    最近更新 更多