On Saturday, 10 August 2013 at 18:28:31 UTC, H. S. Teoh wrote:
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
Sorry, I tough that white-space was allowed in JSON, but I didn't
red the specification before posting. If that is what the spec
says then I agree too to stay strict with it.