package pb import ( "fmt" "testing" "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb" "github.com/golang/protobuf/jsonpb" ) func TestJsonpMarshalUnmarshal(t *testing.T) { tv := &volume_server_pb.RemoteFile{ BackendType: "aws", BackendId: "", FileSize: 12, } m := jsonpb.Marshaler{ EmitDefaults: true, Indent: " ", } if text, err := m.MarshalToString(tv); err != nil { fmt.Printf("marshal eror: %v\n", err) } else { fmt.Printf("marshalled: %s\n", text) } rawJson := `{ "backendType":"aws", "backendId":"temp", "FileSize":12 }` tv1 := &volume_server_pb.RemoteFile{} if err := jsonpb.UnmarshalString(rawJson, tv1); err != nil { fmt.Printf("unmarshal error: %v\n", err) } fmt.Printf("unmarshalled: %+v\n", tv1) }