THRIFT-2884 Map does not serialize correctly for JSON protocol in Go library
Client: Go
Patch: Liangliang He <lliang.he@gmail.com>

This closes #312
diff --git a/lib/go/thrift/json_protocol.go b/lib/go/thrift/json_protocol.go
index 78348ec..bd89cb0 100644
--- a/lib/go/thrift/json_protocol.go
+++ b/lib/go/thrift/json_protocol.go
@@ -134,10 +134,16 @@
 	if e := p.WriteString(s); e != nil {
 		return e
 	}
-	return p.WriteI64(int64(size))
+	if e := p.WriteI64(int64(size)); e != nil {
+		return e
+	}
+	return p.OutputObjectBegin()
 }
 
 func (p *TJSONProtocol) WriteMapEnd() error {
+	if e := p.OutputObjectEnd(); e != nil {
+		return e
+	}
 	return p.OutputListEnd()
 }