@@ -79,12 +79,14 @@ func modelHandleBlockStructSlice(modelJSON *BlockToStruct, schemaData interface{
79
79
for elemMapKey , elemMapValue := range * elemTypeMap {
80
80
var schemaValue , _ = (schemaData .([]interface {}))[0 ].(map [string ]interface {})[elemMapKey ]
81
81
82
- if _ , ok := elemMapValue .(* ListToStruct ); ok {
83
- buildModelField (modelJSON , schemaValue , elemMapValue , arrIndexer )
84
- } else {
85
- for _ , item := range schemaValue .([]interface {}) {
86
- buildModelField (modelJSON , []interface {}{item }, elemMapValue , arrIndexer )
87
- arrIndexer .IncrementLastIndex ()
82
+ if schemaValue != nil {
83
+ if _ , ok := elemMapValue .(* ListToStruct ); ok {
84
+ buildModelField (modelJSON , schemaValue , elemMapValue , arrIndexer )
85
+ } else {
86
+ for _ , item := range schemaValue .([]interface {}) {
87
+ buildModelField (modelJSON , []interface {}{item }, elemMapValue , arrIndexer )
88
+ arrIndexer .IncrementLastIndex ()
89
+ }
88
90
}
89
91
}
90
92
}
@@ -131,7 +133,7 @@ func setModelValue(model *BlockToStruct, field string, value interface{}, arrInd
131
133
} else {
132
134
fieldPaths := strings .Split (field , "." )
133
135
arrIndices := arrIndexer .GetAllIndexes ()
134
- leafField := fieldPaths [len (fieldPaths )- 1 ]
136
+ leafField := strings . ReplaceAll ( fieldPaths [len (fieldPaths )- 1 ], "[]" , "" )
135
137
arrayFields := 0
136
138
parentField := * model
137
139
0 commit comments