[e-lang] deJSONKit - serialization as JSON from E

Tyler Close tyler.close at gmail.com
Fri May 22 16:46:56 EDT 2009


On Fri, May 22, 2009 at 10:11 AM, Kevin Reid <kpreid at mac.com> wrote:
> On May 22, 2009, at 12:20, Tyler Close wrote:
>> On Fri, May 22, 2009 at 4:02 AM, Kevin Reid <kpreid at mac.com> wrote:
>>>
>>
>>> Right, but there's no syntax to bind (define) #s=1234 within the
>>> JSON.
>>
>> The fragment is not making a deep reference into the JSON text; it's
>> referring to the resource as a whole. Perhaps the following example
>> will be clearer:
>>
>> resource at: <http://example.com/foo.json>:
>>
>> {
>>   "name" : "I am recursive",
>>   "self": { "@" : "http://example.com/foo.json" }
>> }
>>
>> Which a client can reconstruct into a JSON container having 2 members:
>> one with a text string value and another with a reference to the JSON
>> container.
>
> But this permits only reference back to the root, not arbitrary
> internal cycles. I need something that can encode, for an arbitrary
> well-known example, a doubly-linked list.

A doubly-linked list would be represented by multiple JSON documents.
For example, for the list [ a, b, c ]:

@ <http://example.com/1>:
{
    "value" : "a",
    "next" : { "@" : "2" }
}

@ <http://example.com/2>:
{
    "value" : "b",
    "previous" : { "@" : "1" },
    "next" : { "@" : "3" }
}

@ <http://example.com/3>:
{
    "value" : "c",
    "previous" : { "@" : "2" }
}

Reassembly of arbitrarily complex circular graphs comes for free once
you've implemented promises.

--Tyler

-- 
"Waterken News: Capability security on the Web"
http://waterken.sourceforge.net/recent.html


More information about the e-lang mailing list