update: update wrapper
This commit is contained in:
@ -1,9 +1,10 @@
|
||||
package dynamicstruct
|
||||
|
||||
import (
|
||||
"git.zhangdeman.cn/zhangdeman/wrapper"
|
||||
"reflect"
|
||||
"strings"
|
||||
|
||||
"git.zhangdeman.cn/zhangdeman/wrapper/op_string"
|
||||
)
|
||||
|
||||
const tagTpl = `json:"{TAG_NAME}" xml:"{TAG_NAME}" toml:"{TAG_NAME}" yaml:"{TAG_NAME}" ini:"{TAG_NAME}"`
|
||||
@ -88,7 +89,7 @@ func (b *builderImpl) AddField(name string, pkg string, typ any, tag string, ano
|
||||
|
||||
// addNormalField 添加普通无嵌套的字段
|
||||
func (b *builderImpl) addNormalField(name string, pkg string, typ any, tag string, anonymous bool) {
|
||||
name = wrapper.String(name).SnakeCaseToCamel()
|
||||
name = op_string.SnakeCaseToCamel(name)
|
||||
if existFieldCfg := b.GetField(name); nil != existFieldCfg {
|
||||
// 说明已存在指定名称字段
|
||||
// 重复添加, 则会议后面的标签以及类型, 覆盖前面的值
|
||||
@ -118,10 +119,10 @@ func (b *builderImpl) addNestedField(nameArr []string, pkg string, typ any, tag
|
||||
}
|
||||
for i := len(nameArr) - 1; i > 0; i-- {
|
||||
jsonTag := nameArr[i]
|
||||
fieldName := wrapper.String(jsonTag).SnakeCaseToCamel()
|
||||
fieldName := op_string.SnakeCaseToCamel(jsonTag)
|
||||
parentName := strings.Join(nameArr[:i], ".")
|
||||
parentJsonTag := nameArr[i-1]
|
||||
parentFieldName := wrapper.String(parentJsonTag).SnakeCaseToCamel()
|
||||
parentFieldName := op_string.SnakeCaseToCamel(parentJsonTag)
|
||||
// fieldTag := fmt.Sprintf(`json:"%s"`, parentJsonTag)
|
||||
fieldTag := strings.ReplaceAll(tagTpl, "{TAG_NAME}", parentJsonTag)
|
||||
if tagCfg, exist := b.structTagTable[parentName]; exist && len(tagCfg) > 0 {
|
||||
|
Reference in New Issue
Block a user