diff --git a/jsonpb/jsonpb.go b/jsonpb/jsonpb.go index 2ba5121d35..57cde1525b 100644 --- a/jsonpb/jsonpb.go +++ b/jsonpb/jsonpb.go @@ -1116,6 +1116,8 @@ func (s mapKeys) Swap(i, j int) { s[i], s[j] = s[j], s[i] } func (s mapKeys) Less(i, j int) bool { if k := s[i].Kind(); k == s[j].Kind() { switch k { + case reflect.String: + return s[i].String() < s[j].String() case reflect.Int32, reflect.Int64: return s[i].Int() < s[j].Int() case reflect.Uint32, reflect.Uint64: