You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am confused about the official spec for canonical json and whether or not it supports non-integer numbers. I think this is the spec and they do say that big/high precision numbers should be stored as strings and parsed in the consumer. They do not rule out all non-integer numbers though.
We are currently using docker's canonical json library which does not support non-integer numbers. It has a hard check when marshaling a float that it is a whole number.
I have tried the other library and it round trips the value "1.5" (which is what I have users asking for) fine.
When we changed the spec to exclude non-integer numbers that decision was based on a old?bad? copy of the canonical json spec (I was looking at the spec referenced by the docker library http://wiki.laptop.org/go/Canonical_JSON) instead of the one above. I now believe that was a mistake and that we should revert that change and update cnab-go to use a different library.
I am confused about the official spec for canonical json and whether or not it supports non-integer numbers. I think this is the spec and they do say that big/high precision numbers should be stored as strings and parsed in the consumer. They do not rule out all non-integer numbers though.
That spec also says that this go implementation is conformant: https://github.com/cyberphone/json-canonicalization/tree/master/go/src/webpki.org/jsoncanonicalizer
We are currently using docker's canonical json library which does not support non-integer numbers. It has a hard check when marshaling a float that it is a whole number.
I have tried the other library and it round trips the value "1.5" (which is what I have users asking for) fine.
When we changed the spec to exclude non-integer numbers that decision was based on a old?bad? copy of the canonical json spec (I was looking at the spec referenced by the docker library http://wiki.laptop.org/go/Canonical_JSON) instead of the one above. I now believe that was a mistake and that we should revert that change and update cnab-go to use a different library.
Tagging @chris-crone and @technosophos to weigh in.
The text was updated successfully, but these errors were encountered: