Я хочу разархивировать следующие данные JSON в Go:
b := []byte('{"Asks": [[21, 1], [22, 1]] ,"Bids": [[20, 1], [19, 1]]}')
Я знаю, как это сделать, я определяю такую структуру:
type Message struct {
Asks [][]float64 'json:"Bids"'
Bids [][]float64 'json:"Asks"'
}
То, что я не знаю, есть ли простой способ специализировать это немного больше. Я хотел бы получить данные после демаршалинга в таком формате:
type Message struct {
Asks []Order 'json:"Bids"'
Bids []Order 'json:"Asks"'
}
type Order struct {
Price float64
Volume float64
}
Так что я смогу использовать его позже после демаршалинга следующим образом:
m := new(Message)
err := json.Unmarshal(b, &m)
fmt.Println(m.Asks[0].Price)
Я действительно не знаю, как легко или идиоматически сделать это в GO, поэтому я надеюсь, что есть хорошее решение для этого.