Hello all, I have swept through the list and gone through the pkg/encoding/json package and _believe_ I haven't missed anything, but am not 100% sure.
When encoding structures into JSON which contain slices/arrays/maps my frontend devs consistently complain about the encoding of empty or nil members which they have to do a little extra work to deal with. For example, structure is defined as: type Foo Struct { Bar []string Baz map[string]int } if any of the members of the struct (Bar, Baz) are not initialized, or empty the encoding is: { "Bar": null, "Baz": null, } What they want is : { "Bar": [], "Baz": {}, } The frontend guys complain because they can't just hand that structure to some of their libraries. I have been getting around this by defining custom marshallers for each type which detect empty or null items and marshal them out as '[]' and '{}' respectively. I know the other option is to just ensure an empty map/slice/array is initialized but invoking potential allocations and GC seems wasteful. Is there a json directive that can be attached that tells the standard library marshaller to always render empty items into a '[]', '{}', etc. similar to the *omitempty * directive? If not, would there be any support for me to propose, develop, and submit a patch to do so? As always, thank you all for the great work on Golang and the standard library! Kris -- 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.