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