Json should allow a way to specify how to marshal/unmarshal an object (e.g. encoding/uuid) #4258
edyu
started this conversation in
Ideas/Requests
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
#4257
PLEASE POST THIS IN THE DISCUSSION TAB UNDER "PROPOSALS" OR "IDEAS/REQUESTS"
Is your feature request related to a problem? Please describe.
uuids are being used more and more often as id and when writing or reading from json, it's much better to use the
string
format of the uuid which is a string of the format 8-4-4-4-12. However due to implementation detail,uuid.Identifier
is basicallydistinct [16]u8
which when printing or marshalling, it's basically an array of bytes that is not only long but also difficult to discern.Contrast
[16]u8
[38,101,146,205,150,13,64,145,152,28,140,37,196,75,16,24]
with
string
266592cd-960d-4091-981c-8c25c44b1018
Describe the solution you'd like
A generic solution would be something similar to how
fmt
allows you to use eitherfmt:"s"
in the struct and then overwrite behavior withUser_Formatter
. It would be great if json has/reuses the similar ideas.Otherwise, it would be great if we can just get uuid to be able to marshal/unmarshal to
json
and printing tofmt
using the string format while still maintaining maybe a binary format such asdistinct [16]u8
internally.Additional context
I'm using uuid as the id field of multiple structs and I'm also writing a rest api which uses the id to specify which resource to start/stop etc.
Beta Was this translation helpful? Give feedback.
All reactions