В этом случае у вас есть массив с string
и object
в вашем json, поэтому вы должны использовать interface{}
на стороне golang, должно быть что-то вроде:
package main
import (
"encoding/json"
"fmt"
)
func main() {
data := `["Msg",{"cmd":"ack","id":"B81DA375B6C4AA49D262","ack":2,"from":"18094158994@c.us","to":"18099897215@c.us","t":1555446115}] `
var d []interface{}
err := json.Unmarshal([]byte(data), &d)
fmt.Printf("err: %v \n", err)
fmt.Printf("d: %#v \n", d[0])
fmt.Printf("d: %#v \n", d[1])
}
Результат будет выглядеть так:
err: <nil>
d: "Msg"
d: map[string]interface {}{"id":"B81DA375B6C4AA49D262", "ack":2, "from":"18094158994@c.us", "to":"18099897215@c.us", "t":1.555446115e+09, "cmd":"ack"}
Итак, 1-й элемент в срезе d
это строка Msg
,
и 2-й элемент в срезе - карта map[string]interface {}
и теперь вы можете сделать что-то еще с этой картой.