\’ 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 |
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, <[hidden email]> <[hidden email]> 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 |
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 <[hidden email]> 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, <[hidden email]> <[hidden email]> 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 > |
Thanks!
P On Sun, Nov 20, 2016 at 08:02:35PM +0100, Sven Van Caekenberghe wrote: > 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 <[hidden email]> 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, <[hidden email]> <[hidden email]> 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 > > > > |
Free forum by Nabble | Edit this page |