encoding/json: UnmarshalTypeError.Error message seems insensible #43126
Comments
Related considerations:
Strawman proposal: the JSON path should be a valid expression in JavaScript to address the specific value from the root value.
|
I agree with the strawman proposal. In that proposal, what would you use in place of GoStruct3? Also, is there a "json path" spec we can simply adhere to? or do we simply try to get as close to a JS expression as we reasonably can? cc @cuonglm who worked on the original feature. I did think about proposing to make it more consistent with slices and such, but at the end of the day I thought the addition was already a big step forward. |
One option is RFC 6901, which uses
The grammar for a JS identifier is pretty complicated. Fortunately, the Go identifier grammar is a strict subset of the JS identifier grammar, so we could just use that as a shortcut. |
Another oddity. If the target type is a Go map, then the JSON object names for those are dropped: https://play.golang.org/p/DP-bAr_6TUy |
The
|
Consider this snippet:
On Go1.15, this prints:
Notice that it combines two different namespaces where it is:
and that the message says that it is a "Go struct field" when it isn't.
\cc @mvdan
The text was updated successfully, but these errors were encountered: