Oh, you're right, Erik, I wasn't paying close enough attention to the related thread. Jeff, skip the eval in the code I listed if it's coming from $.getJSON. :-) -Mike
_____ From: Erik Beeson I assumed he was using $.getJSON or something similar that takes care of the eval'ing for you. --Erik On 8/16/07, Michael Geary < [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > wrote: > From: jeff w > > I am new to jQuery, and have started to play with JSON,but I > need some info about how I refer to the JSON Object once it > is returned from the server. I know I can loop through the > contents of the object, and I can use json.count, but I am > really unsure about the correct syntax to target the data > that I need. Can anyone provide a link to a tutorial or some > other help? > > Here is the JSON object that I need to return from the server: > > {"models": ["MDX SUV", "RDX SUV", "RL Sedan", "TL Sedan", "TSX Sedan"]} > > Thanks for your help. > > ************ > > since writing this, I have made a guess at what might work. I > confirmed that the data is returning as stated above (using > Firebug), but when I echo json.count, i get 'undefined'. does > that make sense? I don't see a count property in your JSON data, and you didn't mention eval'ing the JSON string (it's just a string until you do something with it). Assuming that you have received a string from your server in a variable "json" containing the above JSON text: json = eval( '(' + json + ')' ); var models = json.models ; for( var i = 0, n = models.length; i < n; ++i ) { var model = models[i]; console.debug( model ); } You can even use $.each if you like: json = eval( '(' + json + ')' ); $.each( json.models, function( i, model ) { console.debug( model ); }); -Mike