javascript - JS Loop through a json Object -


i trying iterate json object (in javascript) doesn't seem work correctly... it's confusing me write recursiv function, maybe 1 of experts here me :)

the json object:

{   "node": [     {       "name": {         "#text": "folder"       }     },     {       "name": {         "#text": "folder 2"       }     },     {       "name": {         "#text": "folder 3"       },       "nodes": {         "node": {           "name": {             "#text": "folder 3.1"           },           "nodes": {             "node": [               {                 "name": {                   "#text": "folder 3.1.1"                 },                 "nodes": {                   "node": {                     "name": {                       "#text": "folder 3.1.1.1"                     }                   }                 }               },               {                 "name": {                   "#text": "test 2"                 }               }             ]           }         }       }     },     {       "name": {         "#text": "folder 4"       }     }   ] } 

my try solve problem

function newfolder(_data) {         (var = 0; < _data.length; i++) {               if (_data[i].nodes) {                     ti.api.info("sub: "); //+ _data[i].nodes.node.length );                                  return newfolder(_data[i].nodes.node);               } else {                     ti.api.info("main: " + _data[i].name["#text"]);               }               ti.api.info("main: " + _data[i].name["#text"]);         }   } 

the problem is, functions not run through each element, want to.

i've read jquery each i'm not familar that. plus using titanium , don't know if can use jquery.

it soo awesome if can me out of :)

working fiddle demo

i think json complex there no need. if have object this:

var data = {     "nodes": [         { "name": "folder 1" },         { "name": "folder 2" },         { "name": "folder 3" },         {             "name": "folder 4",             "nodes": [                 { "name": "folder 4.1" },                 {                     "name": "folder 4.2",                     "nodes": [                         { "name": "folder 4.2.1" },                         { "name": "folder 4.2.2" },                         { "name": "folder 4.2.3" }                     ]                 },                 { "name": "folder 4.3" }             ]         },         { "name": "folder 5" }     ]  }; 

you can iterate on recursive function:

function iteratenodes(data) {     (var = 0, l = data.nodes.length; < l; i++) {         var node = data.nodes[i];          console.log(node.name);          if (node.nodes) {             arguments.callee(node);         }     } }  iteratenodes(data); 

check fiddle demo.


Comments

Popular posts from this blog

Change php variable from jquery value using ajax (same page) -

Pull out data related to my apps from Android Play Store and iOS App Store -

How can I fetch data from a web server in an android application? -