You are right, my analogy was incorrect. I didn't realize that ",string" was a documented annotation in the json package. I've never had cause to use it. My apologies for the misleading comment.
The package docs it say: The "string" option signals that a field is stored as JSON inside a > JSON-encoded string." A JSON-encoded string of a string looks like this: "\"hello\"". With that change to the data the code does not return an error. https://play.golang.org/p/XmeBN4885- Chris On Thursday, December 15, 2016 at 10:44:39 AM UTC-5, Sathish VJ wrote: > > I don't think your analogy is right. The example you gave is an error, as > if we wrote: var i = float64("hello") > Whereas, the code I wrote is just being explicit when it is ok to be > implicit. So, more like we wrote: > var i1 = 3.142 > var i2 = float64(3.142) > i3 := float64(3.142) > > The float64 casting is unnecessary in the latter two cases, but it isn't > an error. > > On Thursday, 15 December 2016 21:01:11 UTC+5:30, Chris Hines wrote: >> >> Suppose instead of `json:"s,string"` you had typed `json:"s,omitemptyy"` >> when you meant to type `json:"s,omitempty"`. Would you want to be told that >> you had an error in your struct tag? In general Go has a fail-fast >> philosophy to help prevent mistakes from persisting in a system unnoticed >> for a long time. It is this philosophy that warrants producing an error >> when the encoding/json package encounters an invalid json: struct tag. >> >> Chris >> >> On Thursday, December 15, 2016 at 8:32:03 AM UTC-5, Sathish VJ wrote: >>> >>> I have a struct that maps json of type string to a string. >>> S string `json:"s,string"` >>> >>> When run with that, it gives me the error: >>> Error: json: invalid use of ,string struct tag, trying to unmarshal >>> "hello" into string >>> >>> I know that it is not really required. But does it have to error out? >>> Is the current behavior planned so for any reason? I was thinking that >>> it's quite ok to over-specify the type here and the stand library would >>> ignore it. >>> >>> Full code: https://play.golang.org/p/gepaK1GsTC >>> >> -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.