func JsonName(name string) string {
	var js []rune
	nextUpper := false
	for i, r := range name {
		if r == '_' {
			nextUpper = true
			continue
		}
		if i == 0 {
			js = append(js, r)
		} else if nextUpper {
			nextUpper = false
			js = append(js, unicode.ToUpper(r))
		} else {
			js = append(js, r)
		}
	}
	return string(js)
}
JsonName returns the default JSON name for a field with the given name.
package internal
import (
	"unicode"
	"unicode/utf8"
)
const (
	MaxTag = 536870911  
	SpecialReservedStart = 19000
	SpecialReservedEnd = 19999
	File_packageTag = 2
	File_dependencyTag = 3
	File_messagesTag = 4
	File_enumsTag = 5
	File_servicesTag = 6
	File_extensionsTag = 7
	File_optionsTag = 8
	File_syntaxTag = 12
	Message_nameTag = 1
	Message_fieldsTag = 2
	Message_nestedMessagesTag = 3
	Message_enumsTag = 4
	Message_extensionRangeTag = 5
	Message_extensionsTag = 6
	Message_optionsTag = 7
	Message_oneOfsTag = 8
	Message_reservedRangeTag = 9
	Message_reservedNameTag = 10
	ExtensionRange_startTag = 1
	ExtensionRange_endTag = 2
	ExtensionRange_optionsTag = 3
	ReservedRange_startTag = 1
	ReservedRange_endTag = 2
	Field_nameTag = 1
	Field_extendeeTag = 2
	Field_numberTag = 3
	Field_labelTag = 4
	Field_typeTag = 5
	Field_defaultTag = 7
	Field_optionsTag = 8
	Field_jsonNameTag = 10
	OneOf_nameTag = 1
	OneOf_optionsTag = 2
	Enum_nameTag = 1
	Enum_valuesTag = 2
	Enum_optionsTag = 3
	Enum_reservedRangeTag = 4
	Enum_reservedNameTag = 5
	EnumVal_nameTag = 1
	EnumVal_numberTag = 2
	EnumVal_optionsTag = 3
	Service_nameTag = 1
	Service_methodsTag = 2
	Service_optionsTag = 3
	Method_nameTag = 1
	Method_inputTag = 2
	Method_outputTag = 3
	Method_optionsTag = 4
	Method_inputStreamTag = 5
	Method_outputStreamTag = 6
	UninterpretedOptionsTag = 999
	Uninterpreted_nameTag = 2
	Uninterpreted_identTag = 3
	Uninterpreted_posIntTag = 4
	Uninterpreted_negIntTag = 5
	Uninterpreted_doubleTag = 6
	Uninterpreted_stringTag = 7
	Uninterpreted_aggregateTag = 8
	UninterpretedName_nameTag = 1
)