On Thu, Aug 08, 2013 at 08:46:15PM +0200, Borislav Kosharov wrote: > On Thursday, 8 August 2013 at 16:05:56 UTC, Nick Sabalausky wrote: > >On Thu, 08 Aug 2013 17:20:16 +0200 > >"Borislav Kosharov" <bo...@gmail.com> wrote: > > > >>On Thursday, 8 August 2013 at 10:13:51 UTC, khurshid wrote: > >>> On Thursday, 8 August 2013 at 10:11:07 UTC, MrSmith wrote: > >>>> On Thursday, 8 August 2013 at 08:04:49 UTC, khurshid wrote: > >>>>> > >>>>> I just check std.json for parsing real numbers. > >>>>> > >>>>> import std.json; > >>>>> import std.stdio: writeln; > >>>>> > >>>>> int main() > >>>>> { > >>>>> auto json = parseJSON("1 .24E +1"); > >>>>> writeln(toJSON(&json)); > >>>>> return 0; > >>>>> } > >>>>> > >>>>> and > >>>>> output: 12.4 > >>>>> > >>>>> > >>>>> It's bug or normal ? > >>>> > >>>> Yep, because 1.24E+1 is 12.4E0 > >>> > >>> I wrote not a "1.24E+1", a "1 .24E +1" with leading > > >>spaces. > >> > >>Well what should it be if it's not 12.4? > > > >A syntax error. > > I don't think this would cause any problems. It would just throw > syntax error because there is white-space between? It would be just > annoying to get syntax error because of extra white-space. > > Maybe this is one of the situations where we should think "It's not > a bug, it's a feature!" > > Unless there is a situation that would make no sense to work or > something, it should be left like it is now.
This makes std.json non-conformant to the JSON spec. What if the extra white-space is an indication of data corruption? We should not blindly accept it just because we can. T -- "Life is all a great joke, but only the brave ever get the point." -- Kenneth Rexroth