Actually I am still thinking about it and I would like to scratch this itch of mine.
I am willing to submit a patch, if it is not too late for Go 1.1, as soon as I have time.
I believe the dev team has more important matters to attent to but the change should be small enough.
I was thinking to make net.IP implement json.Marshaler and json.Unmarshaler, MarshalJSON() will call IP.String() and UnmarshlJSON() will call net.ParseIP(), somehow mirroring time.Time marshaling/unmarshaling.
The test could be to marshal/unmarshal a struct containing a net.UDPAddr/TCPAddr/IPAdd, both IPv4 and IPv6.
Should I open an issue?
Am I doing it right?