I am working on some code to parse the JSON data from an HTTP response. The code I have looks something like this:
type ResultStruct struct {
result []map[string]string
}
var jsonData ResultStruct
err = json.Unmarshal(respBytes, &jsonData)
The json in the respBytes variable looks like this:
{
"result": [
{
"id": "ID 1"
},
{
"id": "ID 2"
}
]
}
However, err is not nil. When I print it out it says unexpected end of JSON input. What is causing this? The JSON seems to valid. Does this error have something to do with my custom struct?
Thanks in advance!
respBytes?ResultStructto be capitalized: otherwise thejsondecoder isn't allowed to touch the field. See: play.golang.org/p/bATT5uMPRT for an example that appears to work. So we need more information to see what your error is: the question as stated doesn't have enough to tell.respBytesis just an array of bytes (I take the response, do some processing and extract the body). I also capitalized the result field in theResultStruct. Your Go playground example takes the JSON I receive and handles it correctly, so there must be something else wrong with my code... Thanks for your help!