Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

    var res map[string]any
    err := json.Unmarshal(&res)


Uh huh....and what comes next?

Trying to descend more than a couple of layers into a GoLang JSON object is a mess of casts.


Well, one used to have https://github.com/mitchellh/mapstructure which assisted here, but the lib then got abandoned.



The same things that happens in JS or python.

If you get a key wrong it throws (panics in go)


I wasn't talking about getting the keys wrong, but rather the insane verbosity of GoLang - `myVariable := retrievedObject.(map[string]interface{})["firstLevelKey"].(map[string]interface{})["secondLevelKey"].(string)` vs. `myVariable = retrievedObject["firstLevelKey"]["secondLevelKey"]`

"Oh, but that's just how it is in strongly-typed languages" - that may well be true, but we're comparing "JS or python" with GoLang here.


Especially when you're not certain of the type used for numbers.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: