You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What steps will reproduce the problem?
1. Run this Go source code:
package main
import
(
"fmt";
"json";
"os";
)
func main()
{
jsonData := make(map[string]interface{});
jsonData["foo"] = "bar";
jsonData["fail"] = nil;
err := json.Marshal(os.Stdout, jsonData);
if err != nil
{
fmt.Fprintf(os.Stderr, "Error while marshalling: %s\n", err);
os.Exit(1);
}
fmt.Printf("\n");
}
2. *OR* Run this source code:
package main
import
(
"fmt";
"json";
"os";
)
func main()
{
var jsonData interface{} = nil;
err := json.Marshal(os.Stdout, jsonData);
if err != nil
{
fmt.Fprintf(os.Stderr, "Error while marshalling: %s\n", err);
os.Exit(1);
}
fmt.Printf("\n");
}
What is the expected output? What do you see instead?
I would expect the first case to print
`{"foo":"bar","fail":null}`, but it gives an error: `Error
while
marshalling: json cannot encode value of type interface { }`
The second case should just print `null`, but it SEGSEGVs.
What is your $GOOS? $GOARCH?
darwin amd64
Which revision are you using? (hg identify)
c36376f7c054+ tip
Please provide any additional information below.
I originally reported this on the go-nuts mailing list:
http://groups.google.com/group/golang-
nuts/browse_thread/thread/4a7972add964dd7/feba4a6e90bcf1e0
I do have a patch for this, I will post it momentarily.
The text was updated successfully, but these errors were encountered:
This is also my first contribution, so here is the contributing change list:
http://golang.org/cl/165101
I have electronically signed the Contributor Agreement as well.
The text was updated successfully, but these errors were encountered: