func StructFieldFromJSONName(v reflect.Value, name string) string {
	if v.Kind() != reflect.Struct {
		return ""
	}

	m := getType2jfm(v.Type())
	m.lock.Lock()
	defer m.lock.Unlock()

	s, ok := m.fields[name]
	if !ok {
		return ""
	}
	return s
}
func StructFieldFromJSONName(v reflect.Value, name string) string {
	if v.Kind() != reflect.Struct {
		return ""
	}

	m := getType2jfm(v.Type())
	m.lock.Lock()
	defer m.lock.Unlock()

	s, ok := m.fields[name]
	if !ok {
		return ""
	}
	return s
}
func StructFieldFromJSONName ( v reflect . Value , name string ) string { if v . Kind ( ) != reflect . Struct { return " " } m := getType2jfm ( v . Type ( ) ) m . lock . Lock ( ) defer m . lock . Unlock ( ) s , ok := m . fields [ name ] if ! ok { return " " } return s }
// StructFieldFromJSONName returns the struct field name on the
// given struct value. Empty value means the field is either not
// public, or does not exist.
//
// This can be used to map JSON field names to actual struct fields.
StructFieldFromJSONName returns the struct field name on the given struct value . Empty value means the field is either not public or does not exist . This can be used to map JSON field names to actual struct fields .