func (n *Node) MarshalJSON() ([]byte, error) {
	// Just put it all in a map and then encode it
	toEnc := make(map[string]interface{}, len(n.Values)+1)
	toEnc["_"] = &n.Metadata
	for k, v := range n.Values {
		toEnc[k] = v
	}
	return json.Marshal(toEnc)
}
// MarshalJSON implements encoding/json.Marshaler for Node.
MarshalJSON implements encoding/json.Marshaler for Node.
// MarshalJSON implements encoding / json . Marshaler for Node .
func (n *Node) MarshalJSON() ([]byte, error) {
	toEnc := make(map[string]interface{}, len(n.Values)+1)
	toEnc["_"] = &n.Metadata
	for k, v := range n.Values {
		toEnc[k] = v
	}
	return json.Marshal(toEnc)
}
func ( n * Node ) MarshalJSON ( ) ( [ ] byte , error ) { toEnc := make ( map [ string ] interface { } , len ( n . Values ) + 1 ) toEnc [ " " ] = & n . Metadata for k , v := range n . Values { toEnc [ k ] = v } return json . Marshal ( toEnc ) }
MarshalJSON implements encoding/json.Marshaler for Node.
MarshalJSON implements encoding / json . Marshaler for Node .
// Just put it all in a map and then encode it