Estou recebendo uma string JSON muito longa de uma API.
Basicamente parece com isso:
{"data":{.......},"needs_trial": false, "adjust_time": false,"attempts": 1234}
Preciso de tudo dentro da data
seção sem o "apêndice" como uma string .
Tentei usar a abordagem usual ao analisar JSON em Go:
//fetch the data with http.Get into resp.Body
type MyData struct {
Data map[string]interface{}
}
var data MyData
if err := json.NewDecoder(resp.Body).Decode(&data); err != nil {
return err
}
Eu entendi a seção certa, claro, mas agora como um map[string]interface{}
óbvio. Que eu falhei em converter de volta para uma string...
Definir o Data
campo de MyData
como string
também falha.
Não posso simplesmente cortá-lo, porque a parte do prefixo é fixa ( {"data":
), mas a parte final não.
Não acredito que não consegui fazer isso, por isso estou perguntando aqui... Já gastei tanto tempo nisso que posso aceitar os votos negativos...
Você pode usar
json.RawMessage
o que manterá uma cópia dos bytes brutos.