-
-
Notifications
You must be signed in to change notification settings - Fork 443
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Default arrayFormat causes arrays of length 1 to be serialised the same as a string #206
Comments
While I agree with you it's not optimal, people have been using this for years without complaining, so it cannot be that big of an issue. Not sure it's worth doing a breaking change to change the default, but we should at least make the "catches" clearer in the docs. // @zepod @rapzo @yaodingyd Mentioning you in case you have an opinion on this. |
I think better documentation would be fine, this is not worth a code change. |
I understand the importance of predictability and wouldn't condone at all any code breaking change. |
I think we could improve the situation by supporting optionally defining the type of one or more keys. See: #228 (comment) |
The default
arrayFormat
value ofnone
is problematic because arrays of length 1 are serialised to the same format as if the value was the string contained within the array.For example:
Perhaps the default
arrayFormat
should be changed tobracket
orindex
, which do not have this problem. Thenone
option would make more sense IMO if it refused to stringify an array when stringifying, and ignored/crash for duplicate keys when parsing. I don't see how thecomma
option can be made to handle arrays consistently.The text was updated successfully, but these errors were encountered: