2008/12/18 jason maina <jason.ma...@gmail.com>: > Hi George, > > Thanks for the input. > Well, the data is converted to json by php from a nested array after > extracting the data from a database thus the reason why there's flowerset > and flowers. > > Im finally through with it, it looks kinda complicated in the nesting > element but it somehow while retreiving the data it was easy remebering the > various "layers". > > On the same breath will be looking into streamlining it and making it thin > as you have outlined. > > Thanks > Regards > Jason > > On Thu, Dec 18, 2008 at 4:42 PM, George <george.bea...@googlemail.com> > wrote: >> >> Hi Jason, >> >> Forgive me if I've misunderstood the question, but hopefully this >> might help. >> >> As far as I know, you can infinitely nest your JSON data if that's >> what you want to do. I've noticed some fundamental problems with your >> JSON you pasted in your post which may just be typos, but need to be >> cleared up before your code will work. Firstly the items in your >> 'flowerset' are not enclosed in square brackets. Secondly your names >> (eg groupCode) do not need to be enclosed in quotations although this >> won't break things. Thirdly, in my opinion, you could break this down >> and request a much smaller and less complex dataset from the server >> (maybe just the group names first, then depending on what the user >> clicked on get the flower names and so on) Thus putting less load on >> the server and reducing bandwidth. Also, I'd say to have everything >> nested under the name rsJson just adds another unnecessary dimension >> of complication. >> >> Think of JSON as just a long bunch of name value pairs [{name:value}] >> separated by commas where a value can be a number, string or another >> array. If your value is another array, then it must be enclosed in >> square brackets. As such, there should never be a curly bracket >> immediately after a colon ( [{name:{name:value, name:value}, >> name:value}] ) is wrong. [{name:[{name:value, name:value}], >> name:value}] is correct. >> >> I've cleaned up a little bit of your data just to demonstrate the >> correct syntax: >> >> {rsJson: >> [ >> {groupCode:"1",groupName:"Roses",flowerSet:[ >> {flowers: [ >> {flowerCode:"15",flowerName:"Roses"} >> ]} >> ]}, >> {groupCode:"2",groupName:"Carnations",flowerSet:[ >> {flowers:[ >> {flowerCode:"16",flowerName:"Spray Carnations"}, >> {flowerCode:"17",flowerName:"Standard Carnations"} >> ]} >> ]} >> ]} >> >> To get to your data do something like this: >> >> myDataSetVar[0].rsJson[0].groupCode (would give you "1") >> myDataSetVar[0].rsJson[1].flowerSet[0].flowers[1].flowerName (would >> give you "Standard Carnations") >> >> >> Really hope that helps and I haven't confused things further. >> >> All the best >> >> George >> >> >> On Dec 18, 9:04 am, "jason maina" <jason.ma...@gmail.com> wrote: >> > Thanks Ryan guess was kind of tired had failed looking at some of the >> > points >> > rather was not getting the point. Finally I'm through this is the final >> > product: >> > >> > >> > {"rsJson":[{"groupCode":"1","groupName":"Roses","flowerSet":{"flowers":[{"flowerCode":"15","flowerName":"Roses"}]}},{"groupCode":"2","groupName":"Carnations","flowerSet":{"flowers":[{"flowerCode":"16","flowerName":"Spray >> > Carnations"},{"flowerCode":"17","flowerName":"Standard >> > >> > Carnations"}]}},{"groupCode":"3","groupName":"Perennials","flowerSet":{"flowers":[{"flowerCode":"2","flowerName":"Aster"},{"flowerCode":"3","flowerName":"Alstromeria"},{"flowerCode":"10","flowerName":"Gysophila"},{"flowerCode":"12","flowerName":"Limonium >> > >> > Perezzi"}]}},{"groupCode":"4","groupName":"Annuals","flowerSet":{"flowers":[{"flowerCode":"1","flowerName":"Ammi >> > >> > Majus"},{"flowerCode":"4","flowerName":"Bupleurum"},{"flowerCode":"5","flowerName":"Carthamus"},{"flowerCode":"6","flowerName":"Chinese >> > >> > Aster"},{"flowerCode":"7","flowerName":"Chrysantemum"},{"flowerCode":"8","flowerName":"Delphinium"},{"flowerCode":"13","flowerName":"Lisianthus"},{"flowerCode":"14","flowerName":"Molucella"},{"flowerCode":"18","flowerName":"Statice"},{"flowerCode":"19","flowerName":"Stocks"}]}},{"groupCode":"5","groupName":"Bulbs","flowerSet":{"flowers":[{"flowerCode":"9","flowerName":"Freesia"},{"flowerCode":"11","flowerName":"Lilies"}]}}]} >> > >> > kind regards >> > Jason >> > >> > On Wed, Dec 17, 2008 at 8:04 PM, jason maina <jason.ma...@gmail.com> >> > wrote: >> > > What im wondering out of the reply is I cant have a nested JSON object >> > > with >> > > the following layout? >> > >> > > groupID, groupName, groupItems(array of items) >> > >> > > similar example: >> > >> > >> > > >http://labs.adobe.com/technologies/spry/samples/data_region/JSONDataS... >> > >> > > Regards, >> > > Jason >> > >> > > On Wed, Dec 17, 2008 at 7:02 PM, Ryan Gahl <ryan.g...@gmail.com> >> > > wrote: >> > >> > >> typo... "...with NO properties" >> > >> > >> On Wed, Dec 17, 2008 at 10:02 AM, Ryan Gahl <ryan.g...@gmail.com> >> > >> wrote: >> > >> > >>> Here are your problems... I'll remove the bulk of the data to make >> > >>> it >> > >>> more clear: >> > >> > >>> rsJson: {[{...}]} >> > >> > >>> what you have is illegal. You're essentially saying you have an >> > >>> anonymous >> > >>> object with not properties and filling it with an array (that's >> > >>> probably not >> > >>> even totally accurate)... the bottom line is, you can't have a curly >> > >>> brace >> > >>> immediately followed by a square brace. And going further you have >> > >>> it all >> > >>> just sitting in a property floating in space. The first thing you >> > >>> need to do >> > >>> is wrap the property in curlies so you're actually returning an >> > >>> object... >> > >> > >>> {rsJson: ...} >> > >> > >>> Now, this other issue of putting a square bracket right inside a >> > >>> curly... >> > >>> You can either a) remove the outer curlies and just make rsJson be >> > >>> an array, >> > >>> or b) add a property name which then becomes the array. >> > >> > >>> a) >> > >>> {rsJson: [{}, {}, ...]} >> > >> > >>> b) >> > >>> {rsJson: {myArray: [...]}} >> > >> > >>> On Wed, Dec 17, 2008 at 9:53 AM, jason maina >> > >>> <jason.ma...@gmail.com>wrote: >> > >> > >>>> Hi all, >> > >>>> Below is JSON encoded(php) data. After evaluating and sanitizing it >> > >>>> im >> > >>>> not capable of extracting its contents im just not sure what im >> > >>>> doing wrong: >> > >> > >>>> [php output] >> > >> > >>>> >> > >>>> rsJson:{[{"groupCode":"1","groupName":"Roses","flowers":[{"flowerCode":"15","flowerName":"Roses"}]}, >> > >>>> >> > >>>> {"groupCode":"2","groupName":"Carnations","flowers":[{"flowerCode":"16","flowerName":"Spray >> > >>>> Carnations" >> > >>>> },{"flowerCode":"17","flowerName":"Standard >> > >>>> Carnations"}]},{"groupCode":"3","groupName":"Perennials" >> > >> > >>>> >> > >>>> ,"flowers":[{"flowerCode":"2","flowerName":"Aster"},{"flowerCode":"3","flowerName":"Alstromeria"},{"flowerCode" >> > >>>> >> > >>>> :"10","flowerName":"Gysophila"},{"flowerCode":"12","flowerName":"Limonium >> > >>>> Perezzi"}]},{"groupCode":"4" >> > >>>> >> > >>>> ,"groupName":"Annuals","flowers":[{"flowerCode":"1","flowerName":"Ammi >> > >>>> Majus"},{"flowerCode":"4","flowerName" >> > >>>> >> > >>>> :"Bupleurum"},{"flowerCode":"5","flowerName":"Carthamus"},{"flowerCode":"6","flowerName":"Chinese >> > >>>> Aster" >> > >> > >>>> >> > >>>> },{"flowerCode":"7","flowerName":"Chrysantemum"},{"flowerCode":"8","flowerName":"Delphinium"},{"flowerCode" >> > >> > >>>> >> > >>>> :"13","flowerName":"Lisianthus"},{"flowerCode":"14","flowerName":"Molucella"},{"flowerCode":"18","flowerName" >> > >> > >>>> >> > >>>> :"Statice"},{"flowerCode":"19","flowerName":"Stocks"}]},{"groupCode":"5","groupName":"Bulbs","flowers" >> > >> > >>>> >> > >>>> :[{"flowerCode":"9","flowerName":"Freesia"},{"flowerCode":"11","flowerName":"Lilies"}]}]} >> > >> > >>>> [php output] >> > >> > >>>> var jsonObj = res.responseText.evalJSON(true); >> > >>>> alert(jsonObj); >> > >> > >>>> will not even popup, on firebug no errors showing up. >> > >> > >>>> Kind regards >> > >>>> Jason >> > >> > >>> -- >> > >>> Ryan Gahl >> > >>> CEO >> > >>> Nth Penguin, LLC >> > >>>http://www.nthpenguin.com >> > >>> -- >> > >>> WebWidgetry.com / MashupStudio.com >> > >>> Future Home of the World's First Complete Web Platform >> > >>> -- >> > >>> Inquire: 1-920-574-2218 >> > >>> Blog:http://www.someElement.com >> > >>> LinkedIn Profile:http://www.linkedin.com/in/ryangahl >> > >> > >> -- >> > >> Ryan Gahl >> > >> CEO >> > >> Nth Penguin, LLC >> > >>http://www.nthpenguin.com >> > >> -- >> > >> WebWidgetry.com / MashupStudio.com >> > >> Future Home of the World's First Complete Web Platform >> > >> -- >> > >> Inquire: 1-920-574-2218 >> > >> Blog:http://www.someElement.com >> > >> LinkedIn Profile:http://www.linkedin.com/in/ryangahl >> > > > > >
PHP has a depth limit of 512. It was 128 and before that only 20! It was rasied from 20 to 128 on Thu May 24 22:39:06 2007 UTC (http://cvs.php.net/viewvc.cgi/php-src/ext/json/JSON_parser.c?r1=1.10&r2=1.11) and from 128 to 512 on Wed Jul 30 13:57:47 2008 UTC (http://cvs.php.net/viewvc.cgi/php-src/ext/json/JSON_parser.c?r1=1.17&r2=1.18) Richard. -- ----- Richard Quadling Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731 "Standing on the shoulders of some very clever giants!" --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Prototype & script.aculo.us" group. To post to this group, send email to prototype-scriptaculous@googlegroups.com To unsubscribe from this group, send email to prototype-scriptaculous+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/prototype-scriptaculous?hl=en -~----------~----~----~----~------~----~------~--~---