in datahub/resultmodel.go [1075:1105]
func (gtr *ListTopicSchemaResult) UnmarshalJSON(data []byte) error {
type RecordSchemaInfoHelper struct {
VersionId int `json:"VersionId"`
RecordSchema string `json:"RecordSchema"`
}
msg := &struct {
SchemaInfoList []RecordSchemaInfoHelper `json:"RecordSchemaList"`
}{}
if err := json.Unmarshal(data, msg); err != nil {
return err
}
for _, info := range msg.SchemaInfoList {
schema := &RecordSchema{}
if err := json.Unmarshal([]byte(info.RecordSchema), schema); err != nil {
return err
}
for idx := range schema.Fields {
schema.Fields[idx].AllowNull = !schema.Fields[idx].AllowNull
}
schemaInfo := RecordSchemaInfo{
VersionId: info.VersionId,
RecordSchema: *schema,
}
gtr.SchemaInfoList = append(gtr.SchemaInfoList, schemaInfo)
}
return nil
}