package models import "encoding/json" // UnmarshalOrderMapRow extracts the Data sub-object from the server's OrderMap wire format // {"Fields":[...],"Data":{...}} and unmarshals it into dst. // If the input is not an OrderMap wrapper, it falls back to direct unmarshal. func UnmarshalOrderMapRow(data []byte, dst interface{}) error { var wrapper struct { Data json.RawMessage `json:"Data"` } if err := json.Unmarshal(data, &wrapper); err != nil { return err } if wrapper.Data == nil { return json.Unmarshal(data, dst) } return json.Unmarshal(wrapper.Data, dst) }