Saturday, March 11, 2023
HomeGolangThe way to know which line of json is failing to unmarshal?...

The way to know which line of json is failing to unmarshal? – Getting Assist

I’m engaged on an app that makes use of go to parse a json file for settings. I get the error proven under, nevertheless it’s not telling me what line within the json file is inflicting the problem. How do I see this?

panic: json: can't unmarshal string into Go worth of kind map[string]*json.RawMessage

You might examine your Go code to see the place you have got a area of kind map[string]*json.RawMessage after which examine your JSON file to see if it’s a string as an alternative.

I don’t have entry to the code. I hoped there was a approach to activate extra detailed logs like in Rust

I’m not conscious of any means to try this in Go.

Might you paste your JSON into a web based JSON parser and see what the offending line is that means? Additionally you would prepare a fast check utilizing the playground and attempt to debug it that means. For instance, modify this playground hyperlink to have your precise JSON:

func essential() {
	// Substitute this along with your JSON
	byt := []byte(`{ "value1": "check", "value2": }`)
	var dat map[string]*json.RawMessage
	if err := json.Unmarshal(byt, &dat); err != nil {

The output from that’s not less than extra descriptive than what your executable is supplying you with:

panic: invalid character '}' searching for starting of worth

goroutine 1 [running]:
	/tmp/sandbox266866198/prog.go:13 +0xe7

Program exited.

You might additionally strive the process outlined right here together with that go playground hyperlink to get extra information:

Although as soon as once more, a web based JSON parser ought to work wonderful to present you an in depth error message.

That helps if the JSON is invalid, however in the event you put a JSON string worth the place an object is anticipated (e.g. {"key": "string"} vs {"key": {"subkey": "string"}}), I don’t suppose it will assist until you have got a JSON schema definition.

1 Like


Most Popular

Recent Comments