Thanks for the tips. That helps a bunch.
On Nov 16, 6:27 pm, RobG <[EMAIL PROTECTED]> wrote:
> On Nov 17, 8:57 am, Geuis <[EMAIL PROTECTED]> wrote:
>
>
>
> > I've gotten to be fairly intermediate at consuming json objects, such
> > as those I'm retrieving from web api's. However, I'm trying to push
> > the boundaries of what I understand about JSON objects once the client
> > has loaded them. I have been searching around google for the last
> > couple of hours for what I think I want to know but I'm getting
> > nowhere. Hoping some other js wizzes can help me out. This isn't
> > directly a jQuery question, but I need to understand more about this
> > to help me write better jQuery code.
>
> > This is my sample data for the following questions:
> > var obj = { "nodes" :[
> > {
> > type : 'a',
> > name : 'stuff'
> > },
> > {type : 'b'},
> > {type : 'c'}
> > ]
> > };
>
> > 1) How can I add new nodes to an existing object? I can reference
> > obj.nodes[x].type for example. Now I want to add a new type to
> > "nodes". I tried: obj += {type:'d'}; but got nothing usable. Except
> > that obj.nodes.length went from 3 to 62.
>
> obj.nodes.push({type:'d'});
>
> > 2) Is there a list of core Javascript methods that let you work with
> > JSON objects? Something like .push, .pop, etc?
>
> Methods belong to objects, the methods you mention belong to
> Array.prototype and therefore instances of Array.
>
> > 3) How do you search a JSON object? Suppose I want to find a group of
> > nodes that all have the name "stuff", regardless of what their "type"
> > property is?
> > I know I can loop through an object using for(i in obj){}.
>
> Since nodes is an array, you can iterate over it using a for loop (or
> an each method) and check:
>
> var t = nodes[i];
> var stuffGroup = [];
> if ( t.name && t.name == 'stuff' ) {
> stuffGroup.push(t);
> }
>
> You might want to make the relevant methods properties of some object
> that you construct and pass it the JSON data to work with.
>
> --
> Rob