Golang Json.Marshal error
go, json, marshalling
Solution
Your properties and the type name are private, if you want your properties to be public you need to follow the convention of capitalizing each word e.g. (Value instead of value) to make it public, switch your type to this and it should serialize just fine.
type Node struct {
Value string
Expiry float64
Settime float64
}
Problem
I have been trying to encode a map into JSON but I have been unsuccessful so far. Json.Marshal is not encoding value, its just encoding the key. https://gist.github.com/rahulpache/9174490 ``` package main import ( "encoding/json" "fmt" ) type node struct { value string expiry float64 settime float64 } func main() { var x = make(map[string]node) x["hello"] = node{value: "world", expiry: 1, settime: 2} x["foo"] = node{value: "bar", expiry: 1, settime: 2} a, err := json.Marshal(x) fmt.Println(string(a)) } ``` Output: ``` {"foo":{},"hello":{}} ```