Ответ на запрос, который я получаю, всегда является байтовым массивом, который может быть преобразован в массив Q
некоторого типа, и я хочу только разархивировать первый элемент в ответе на запрос в объект неизвестного типа (interface{}
) , так что это то, что у меня есть, и это работает.
res = Query(query)
data := struct {
Q []json.RawMessage `json:"q"`
}{}
json.Unmarshal(res.Json, &data)
json.Unmarshal(data.Q[0], &object)
Проблема в том, что сначала я unmarshal res в массив json.RawMessage
, затем я могу unmarshal первый элемент в object
. Необходимость демаршалирования, а затем демаршалдинг снова кажется излишним. Есть ли более эффективное решение, в котором я могу просто разархивировать один раз?