5 ms·
If trailing commas and quotation marks are optional, then does this: foo: 4, ...produce the value 4, "4", or "4,"?
by david-given 11y ago
If trailing commas and quotation marks are optional, then does this:
foo: 4,
...produce the value 4, "4", or "4,"?
- PuerkitoBio 11y agoFrom the docs: > When you omit quotes the string ends at the newline. > Preceding and trailing whitespace is ignored as are escapes. > > A value that is a number, true, false or null in JSON is > parsed as a value. E.g. 3 is a valid number while 3 times is > a string. (edit: formatting)
- lumpypua 11y agoRight but the point is that you had to consult the docs. It's a problem of ambiguity on the part of the format.
- chris-at 11y agoOf course you have to get the information from somewhere the first time you learn something. What's the problem with that?
- dandelany 11y agoThe problem is that this is supposed to be a more-easily-readable form of JSON, but it requires consulting the docs to understand the meaning of something which is completely unambiguous in regular JSON.
- ssalazar 11y ago> Of course you have to get the information from somewhere the first time you learn something. What's the problem with that? The first time, and the second time if you haven't looked at it in a month, and a third time a month after that. And so on.
- PuerkitoBio 11y agoIt is ambiguous only if you think it can be a completely useless format. If you decide to use it, chances are you considered it useful, and the only useful way this can parse is as a number, otherwise it would't be able to represent numbers, booleans and null. I'd say it parses pretty much as expected, and as such, contrary to other comments, you don't have to go back to the docs every so often.
- bobbyi_settv 11y agoSo if you put "true" (without quotes) as a value, you get a boolean, but if you put "True", you get a string?
- cortesoft 11y agoSo would that be "4," that you end up with, then?
- alanh 11y agoExcellent example. While I have been hoping for "JSON plus comments" to be a real and common thing for quite a while now, one of the strengths of JSON is right there on json.org. See it? A set of five simple syntax diagrams that entirely and virtually unambiguously define the json syntax. It’s tough to know when to stop when simplifying a syntax. (For an extreme example, see Stylus, which was like Sass but so extreme that mixins and properties became ambiguous for each other.) I, too, would like to see the return of quotes for string values, for increased clarity.