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
Uh oh!
There was an error while loading. Please reload this page.
-
#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
stringformat of the uuid which is a string of the format 8-4-4-4-12. However due to implementation detail,uuid.Identifieris basicallydistinct [16]u8which 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
string266592cd-960d-4091-981c-8c25c44b1018Describe the solution you'd like
A generic solution would be something similar to how
fmtallows 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
jsonand printing tofmtusing the string format while still maintaining maybe a binary format such asdistinct [16]u8internally.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