On Jan 22, 2008 10:08 AM, Bertrand Delacretaz <[EMAIL PROTECTED]>
wrote:

> Hi,
>
> (renaming the thread to attract attention of our JSON folks)
>

Good idea. Thanks.


>
> On Jan 22, 2008 9:47 AM, Peter Svensson <[EMAIL PROTECTED]> wrote:
> > ...The json that would be nice to have is something like this;
> >
> > {
> >     label: 'name',
> >     identifier: 'name',
> >     items:
> >     [
> >         { name:'Fruit', type:'category'},
> >         { name:'Cinammon', type: 'category',
> >         children:
> >         [
> >         { name:'Cinammon Roll', type:'poptart' },
> >         { name:'Brown Sugar Cinnamon', type:'poptart' },
> >         { name:'French Toast', type:'poptart' }
> >         ]
> >         },
> >         { name:'Chocolate', type: 'category'}
> >     ]
> > }
> >
> > Where the only important stuff here is that child nodes should be put in
> a
> > separate array [], not as an object  to the parent node, like this;
>
> ...(snipped current format)
>
> Ok, so basically you'd like the child nodes to be in an array named
> "children".
>
> I know others on this list have more javascript experience than me,
> what do people think?
>
> > ....Also, I have difficulties understanding what to do with the
> >
> > "testing":
> >            {"jcr:primaryType":"nt:unstructured",
> >
> > part, since I would somehow like it to be like this;
> >
> > children:
> > [
> >           {
> >                   title: 'testing',
> >                   jcr_primaryType: 'nt:unstructured',
> >                   children:
> >                   [
> >                               { title:"test2", sling_resourceType:
> > "usling/example", jcr_primaryType: "nt:unstructured", text: "Default
> text of
> > the test node"},
> >                                ....
> >                   ]
> >           }
> > ]
> >
> > Hmm. I really think that this would be the correct translation, now that
> > I've printed it out. The problem was in choosing how to remove the
> current
> > "name: {}" structure to move the name into the object (where it is
> anyway),
> > like children: [{title: name....}]...
>
> Ok, I agree that the above is more immediately understandable than the
> current format.
>
> The downside, iiuc, is that if forces the use of ".children." to
> access children...well, not sure if that's a downside, let's hear what
> other javascript aficionados think!
>

Well, I think its OK. Children would refer to an array of object, and each
object could have another children property which had an array as value, so
I don't think it would be a problem (from a purely js perspective)


>
> > ...Note that children is just a convenient name, and doesn't mean
> anything
> > magic. Also, I would feel very much more comfortable not having quotes
> > around property names. I understand that they're there to escape the ':'
> ,
> > which are very magic in js and separates property names from values,
> > therefore I replaced them with underscores....
>
> IIUC, the goal with removing the quotes is only to make the JSON look
> nicer, is that right?
>

Argh! You got me there :). I'm just used to not having any quotes on
property names, but I'd have to google to know if there's any difference, so
for now, yes only to look nice - and I agree that it's not a good thing to
have the name change, depending on platform.


>
> The problem with transforming sling:resourceType to sling_resourceType
> in JSON is the possible confusion in documentation and in people's
> minds...I don't like that too much.
>
> As you indicate, making other JSON renditions pluggable would be easy,
> but I think we should be able to agree on a good enough default
> format.
>
> -Bertrand
>

Reply via email to