-
Notifications
You must be signed in to change notification settings - Fork 807
Open
Description
The code is so simple:
package main
import (
"os"
"github.com/gogo/protobuf/jsonpb"
"github.com/gogo/protobuf/proto"
)
func main() {
marshaller := jsonpb.Marshaler{
EnumsAsInts: true,
EmitDefaults: false,
OrigName: true,
}
marshaller.Marshal(os.Stdout, &TestInt{
Ori: 16,
})
}
type TestInt struct {
Ori uint64 `protobuf:"varint,1,opt,name=ori,proto3" json:"ori,omitempty"`
}
func (m *TestInt) Reset() { *m = TestInt{} }
func (m *TestInt) String() string { return proto.CompactTextString(m) }
func (*TestInt) ProtoMessage() {}
I got {"ori":"16"}.
But what I want is {"ori":16}.
I tried many times and found that if ori defined as uint8 int8 uint int uint32 int32 I can get {"ori":16}.
But if it is int64 uint64 it becomes {"ori":"16"}.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels