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
> 


Reply via email to