Ich habe XML-Daten, die ich über eine REST-API abrufen, die ich in eine GO-Struktur entpacken. Eines der Felder ist ein Datumsfeld, jedoch entspricht das von der API zurückgegebene Datumsformat nicht dem standardmäßigen time.Time-Syntaxformat, und daher schlägt das Unmarshal-Verfahren fehl.Golang XML Unmarshal und time.Time Felder
Gibt es eine Möglichkeit, die unmarshal Funktion anzugeben, welches Datumsformat in der time.Time-Analyse verwendet werden soll? Ich würde gerne richtig definierte Typen verwenden und die Verwendung einer Zeichenfolge, um ein Datetime-Feld zu halten, fühlt sich falsch an.
Beispiel struct:
type Transaction struct {
Id int64 `xml:"sequencenumber"`
ReferenceNumber string `xml:"ourref"`
Description string `xml:"description"`
Type string `xml:"type"`
CustomerID string `xml:"namecode"`
DateEntered time.Time `xml:"enterdate"` //this is the field in question
Gross float64 `xml:"gross"`
Container TransactionDetailContainer `xml:"subfile"`
}
Das Datumsformat zurückgegeben wird "yyyymmdd".
Dies kann helfen, finden, obwohl es sich nur um Rangieren handelt. https://groups.google.com/forum/#!topic/golang-nuts/IM3ZIcYXbz4 – Intermernet
Weitere Informationen finden Sie unter https://code.google.com/p/go/issues/detail?id=2771 – Intermernet