I committed the following in STON (sthub.com, ss3.gemstone.com & github.com)
#bleedingEdge:
===
Name: STON-Core-SvenVanCaekenberghe.78
Author: SvenVanCaekenberghe
Time: 20 November 2016, 7:48:23.799323 pm
UUID: ee198da8-80e8-4944-ba9b-dffae331c57c
Ancestors: STON-Core-SvenVanCaekenberghe.77
In JSON compatibility mode STON should not encode single quotes. (Thanks Peter
Uhnák for reporting this). Patch STONWriter>>#encodeCharacter:
Fix the encoding of forward slash ($/). This was already in the (external)
documentation. Patch STONWriter class>>#initializeSTONCharacters - force
STONWriter class>>#initialize to change too
Fix the representation of Time by adding nanoseconds when there are any. This
was already in the (external) documentation. Patch Time>>#stonOn:
Adjust unit tests accordingly (esp. STONWriterTests>>#testDoubleQuotedString).
Minor comment changes.
===
Name: STON-Tests-SvenVanCaekenberghe.68
Author: SvenVanCaekenberghe
Time: 20 November 2016, 7:48:46.115446 pm
UUID: 70402f28-f0e8-44e9-8746-3539c4add09b
Ancestors: STON-Tests-SvenVanCaekenberghe.67
In JSON compatibility mode STON should not encode single quotes. (Thanks Peter
Uhnák for reporting this). Patch STONWriter>>#encodeCharacter:
Fix the encoding of forward slash ($/). This was already in the (external)
documentation. Patch STONWriter class>>#initializeSTONCharacters - force
STONWriter class>>#initialize to change too
Fix the representation of Time by adding nanoseconds when there are any. This
was already in the (external) documentation. Patch Time>>#stonOn:
Adjust unit tests accordingly (esp. STONWriterTests>>#testDoubleQuotedString).
Minor comment changes.
===
Now you get
NeoJSONReader fromString: (STON toJsonString: 'single='' & double="').
"'single='' & double=""'"
STON toString: { Time now. Date today. DateAndTime now }.
"'[Time[''19:51:15.452023''],Date[''2016-11-20''],DateAndTime[''2016-11-20T19:51:15.454147+01:00'']]'"
STON toString: 'back-slash=\ & forward-slash=/'.
"'''back-slash=\\ & forward-slash=\/'''"
Sven
> On 19 Nov 2016, at 20:56, Sven Van Caekenberghe <[email protected]> wrote:
>
> Peter,
>
> You are right, that is a bug.
>
> STON should be a bit more strict when it is in JSON mode. I'll fix it and let
> you know.
>
> Thanks for reporting this issue.
>
> Sven
>
>> On 19 Nov 2016, at 17:46, <[email protected]> <[email protected]> wrote:
>>
>> \’ is not a valid JSON escape character, so STON’s JSON ouput is not a valid
>> JSON string.
>>
>> ston := STON toJsonString: 'element''s'. -> "element\'s"
>> neo := NeoJSONWriter toString: 'element''s'. -> "element's"
>>
>> NeoJSONReader fromString: ston. -> invalid escape character \’
>>
>> Peter
>