Sto lavorando su un codice per analizzare i dati JSON da una risposta HTTP. Il codice che ho simile a questa:Golang json Unmarshal "Fine imprevista dell'input JSON"
type ResultStruct struct {
result []map[string]string
}
var jsonData ResultStruct
err = json.Unmarshal(respBytes, &jsonData)
JSON nella variabile respBytes
assomiglia a questo:
{
"result": [
{
"id": "ID 1"
},
{
"id": "ID 2"
}
]
}
Tuttavia, err
non è pari a zero. Quando lo stampo, dice unexpected end of JSON input
. Che cosa sta causando questo? Il JSON sembra valido. Questo errore ha qualcosa a che fare con la mia struttura personalizzata?
Grazie in anticipo!
Come si può leggere in. 'respBytes'? – dyoo
Inoltre, si noti che la minuscola indica la visibilità privata. Si desidera che il nome del campo in' ResultStruct' sia in maiuscolo: altrimenti il decodificatore 'json' non può toccare il campo. .golang.org/p/bATT5uMPRT per un esempio che sembra funzionare, quindi abbiamo bisogno di più informazioni per vedere quale sia il tuo errore: la domanda come detto non ha abbastanza da dire. – dyoo
@dyoo 'respBytes' è solo una matrice di byte (prendo la risposta, faccio un po 'di elaborazione ed estrai il corpo). Ho anche messo in maiuscolo il campo risultato nel 'ResultStruct'. L'esempio del tuo playground Go prende il JSON che ricevo e lo gestisce correttamente, quindi ci deve essere qualcos'altro che non va nel mio codice ... Grazie per il tuo aiuto! – Stratus3D