in encoder/json.go [206:236]
func (e *jsonEncoder) fixFieldTypes(res *types.CommonFormatEvent) (err error) {
k := 0
//Restore field types according to schema
if e.inSchema != nil && res.Type != "schema" {
var j int
for i := 0; i < len(e.inSchema.Columns); i++ {
if filteredField(e.filter, i, &j) {
continue
}
if res.Fields != nil && i-j < len(*res.Fields) {
f := &(*res.Fields)[i-j]
f.Value, err = fixFieldType(f.Value, e.inSchema.Columns[i].DataType)
if err != nil {
return err
}
}
if e.inSchema.Columns[i].Key == "PRI" && k < len(res.Key) {
f := &res.Key[k]
*f, err = fixFieldType(*f, e.inSchema.Columns[i].DataType)
if err != nil {
return err
}
k++
}
}
}
return nil
}