Skip to content

Commit 653a50d

Browse files
authored
fix(transformer): Allow camel-cased json tags (#828)
Follow-up for #820
1 parent 9c25670 commit 653a50d

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

transformers/struct.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -363,8 +363,8 @@ func DefaultNameTransformer(field reflect.StructField) (string, error) {
363363
if jsonTag == "-" {
364364
return "", nil
365365
}
366-
if schema.ValidColumnName(jsonTag) {
367-
name = jsonTag
366+
if nameFromJSONTag := defaultCaser.ToSnake(jsonTag); schema.ValidColumnName(nameFromJSONTag) {
367+
return nameFromJSONTag, nil
368368
}
369369
}
370370
return defaultCaser.ToSnake(name), nil

transformers/struct_test.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,8 @@ type (
6868
}
6969

7070
testFunnyStruct struct {
71-
AFunnyLookingField string `json:"OS-EXT:a-funny-looking-field"`
71+
AFunnyLookingField string `json:"OS-EXT:a-funny-looking-field"`
72+
AFieldWithCamelCaseName string `json:"camelCaseName"`
7273
}
7374
)
7475

@@ -255,6 +256,10 @@ var (
255256
Name: "a_funny_looking_field",
256257
Type: schema.TypeString,
257258
},
259+
{
260+
Name: "camel_case_name",
261+
Type: schema.TypeString,
262+
},
258263
},
259264
}
260265
)

0 commit comments

Comments
 (0)