We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Describe the bug Not very sure what's happening here, the value has some escaped JSON and which breaks on Unmarshal.
package main import ( "fmt" "github.com/goccy/go-yaml" ) type EnvironmentVariables struct { Name *string `json:"name,omitempty"` Value *string `json:"value,omitempty"` Type *string `json:"type,omitempty"` Sha256 *string `json:"sha256,omitempty"` } type Manifest struct { EnvironmentVariables []*EnvironmentVariables `json:"environmentVariables"` } func main() { jsonStr := `{ "environmentVariables": [ { "name": "HELP_CONFIG", "value": "{\"key\":\"value\",\"CHAT_ENABLED\":\"true\",\"CALL_ENABLED\":\"false\"}", "type": "CONFIG" } ] }` var m Manifest err := yaml.Unmarshal([]byte(jsonStr), &m) if err != nil { panic(err) } fmt.Printf("%#v\n", m) }
panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x60 pc=0x4eb9cf] goroutine 1 [running]: github.com/goccy/go-yaml.(*Decoder).decodeSlice(0xc000186000, {0x559038, 0x683c00}, {0x5033a0?, 0xc000182048?, 0xc0001b9670?}, {0x559b98?, 0xc0001b2000?}) /tmp/gopath2137611721/pkg/mod/github.com/goccy/go-yaml@v1.11.3/decode.go:1371 +0x22f github.com/goccy/go-yaml.(*Decoder).decodeValue(0xc000186000, {0x559038, 0x683c00}, {0x5033a0?, 0xc000182048?, 0x500a1b?}, {0x559b98, 0xc0001b2000}) /tmp/gopath2137611721/pkg/mod/github.com/goccy/go-yaml@v1.11.3/decode.go:856 +0xf73 github.com/goccy/go-yaml.(*Decoder).createDecodedNewValue(0xc000186000, {0x559038, 0x683c00}, {0x55b600, 0x5033a0}, {0x5033a0?, 0xc000182000?, 0xc000190258?}, {0x559b98, 0xc0001b2000}) /tmp/gopath2137611721/pkg/mod/github.com/goccy/go-yaml@v1.11.3/decode.go:968 +0x2ca github.com/goccy/go-yaml.(*Decoder).decodeStruct(0xc000186000, {0x559038, 0x683c00}, {0x50db40?, 0xc000182000?, 0x180150?}, {0x559a98, 0xc0001a20c0}) /tmp/gopath2137611721/pkg/mod/github.com/goccy/go-yaml@v1.11.3/decode.go:1255 +0xbca github.com/goccy/go-yaml.(*Decoder).decodeValue(0xc000186000, {0x559038, 0x683c00}, {0x50db40?, 0xc000182000?, 0xc000180060?}, {0x559a98, 0xc0001a20c0}) /tmp/gopath2137611721/pkg/mod/github.com/goccy/go-yaml@v1.11.3/decode.go:861 +0x1028 github.com/goccy/go-yaml.(*Decoder).decode(0xc000186000, {0x559038, 0x683c00}, {0x500b60?, 0xc000182000?, 0xc0?}) /tmp/gopath2137611721/pkg/mod/github.com/goccy/go-yaml@v1.11.3/decode.go:1687 +0xbb github.com/goccy/go-yaml.(*Decoder).DecodeContext(0xc000186000, {0x559038, 0x683c00}, {0x500b60?, 0xc000182000?}) /tmp/gopath2137611721/pkg/mod/github.com/goccy/go-yaml@v1.11.3/decode.go:1722 +0x1d5 github.com/goccy/go-yaml.UnmarshalContext({0x559038, 0x683c00}, {0xc000184000, 0xbe, 0xc0}, {0x500b60, 0xc000182000}, {0x0, 0x0, 0x0}) /tmp/gopath2137611721/pkg/mod/github.com/goccy/go-yaml@v1.11.3/yaml.go:191 +0x225 github.com/goccy/go-yaml.UnmarshalWithOptions(...) /tmp/gopath2137611721/pkg/mod/github.com/goccy/go-yaml@v1.11.3/yaml.go:185 github.com/goccy/go-yaml.Unmarshal(...) /tmp/gopath2137611721/pkg/mod/github.com/goccy/go-yaml@v1.11.3/yaml.go:179 main.main() /tmp/sandbox1184541065/prog.go:31 +0x7c
If I remove any one key in that JSON the Unmarshal happens without errors.
To Reproduce Go Playground
Version Variables
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Describe the bug
Not very sure what's happening here, the value has some escaped JSON and which breaks on Unmarshal.
If I remove any one key in that JSON the Unmarshal happens without errors.
To Reproduce
Go Playground
Version Variables
The text was updated successfully, but these errors were encountered: