Hi Sven,

shouldn't it be set to #ignore by default for JSON then? Or is there a use
case where it makes sense to have something else for JSON?

Herbert: I am not talking about (infinitely) recursive references, but
referencing the same object, e.g.


Peter

On Tue, Mar 27, 2018 at 6:08 PM, Herbert Vojčík <he...@mailbox.sk> wrote:

>
>
> Sven Van Caekenberghe wrote:
>
>> Hi Peter,
>>
>> Both cases will pass using this expression:
>>
>> String streamContents: [ :out |
>>         STON jsonWriter
>>                 referencePolicy: #ignore;
>>                 on: out;
>>                 nextPut: d ].
>>
>> The problem is what to do with cycles.
>>
>
> Be faithful to what JSON.stringify does in JS. See attachment. :-)
>
> Herby
>
>
> Sven
>>
>> On 27 Mar 2018, at 17:43, Peter Uhnák<i.uh...@gmail.com>  wrote:
>>>
>>> Hi,
>>>
>>> I don't think this should throw an error when I am producing JSON.
>>>
>>> ```
>>> d := {
>>>         'a' ->  #().
>>>         'b' ->  #().
>>> } asDictionary.
>>>
>>> STON toJsonString: d.
>>> ```
>>>
>>> dtto this
>>>
>>> ```
>>> a := {'hm'}.
>>>
>>> d := {
>>>         'a' ->  a.
>>>         'b' ->  a.
>>> } asDictionary.
>>>
>>> STON toJsonString: d.
>>> ```
>>>
>>> Maybe I should forgo using STON>>toJson* out of laziness (it is
>>> preinstalled) and always go for NeoJSON?
>>>
>>> Peter
>>>
>>
>>
>>

Reply via email to