javascript - How to look for a particular property in an JSON and retrieve a corresponding property -


i trying access particular property of object , 'levelid' in following code.

this have far

fiddle

the code goes this

$(document).ready(function(){      var jsonlist = {         "json_data": {             "data": [                 {                     "data": "a node",                     "metadata": {                         "id": "23"                     },                     "children": [                         "child 1",                         "a child 2"                     ]                 },                 {                     "attr": {                         "id": "li.node.id1",                         "levelid": "3",                         "fmnname": "ragini"                     },                     "data": {                         "title": "long format demo",                         "attr": {                             "href": "#"                         }                     },                     "children": [                         {                             "data": {                                 "title": "hq 50 corps"                             },                             "attr": {                                 "id": 102,                                 "parentid": 101,                                 "fmnid": 194,                                 "fmnname": "pivot corps",                                 "levelid": 1,                                 "name": "hq 50 corps ",                                 "ishq": "\u0000",                                 "susnum": "0415009a",                                 "modtype": "plain",                                 "seniorityid": 1,                                 "wepenum": "hq-38 4001/1946/8 (3 div)",                                 "reliefid": 0,                                 "targetreliefid": 0,                                 "groupid": 0,                                 "realorbatdtlid": 0,                                 "imgname": "10",                                 "overlayid": "0415009a",                                 "symbolcode": "1001001",                                 "locationname": "bhatinda",                                 "nrsname": "bhatinda"                             },                             "state": "open"                         }                     ]                 },                 {                     "attr": {                         "id": "li.node.id1",                         "levelid": "3",                         "fmnname": "rag"                     },                     "data": {                         "title": "long format demo",                         "attr": {                             "href": "#"                         }                     }                 },                 {                     "attr": {                         "id": "li.node.id1",                         "levelid": "4",                         "name": "skyrbe"                     },                     "data": {                         "title": "long format demo",                         "attr": {                             "href": "#"                         }                     }                 }             ]         }     }     console.log(json.stringify(jsonlist,null,4));     var newobject = jsonlist.json_data.data;     var listitems= "";      $form = $("<form></form>");     $('#form_container').append($form);      var $selectcontainer = $("<select id=\"selectid\" name=\"selectname\" />");      (var = 0; < jsonlist.json_data.data.length; i++)     {         if(jsonlist.json_data.data[i].hasownproperty("attr") && jsonlist.json_data.data[i].attr.levelid == 3)         {             listitems+= "<option value='" + jsonlist.json_data.data[i].attr.fmnname + "'>" + jsonlist.json_data.data[i].attr.fmnname + "</option>";         }     }     $($selectcontainer).html(listitems);     $($form).append($selectcontainer); }); 

the above code capable of retrieving levelid if in json_data -> data -> attr. , levelid might nested inside json_data -> data -> children -> attr. how go iterating through object fetch levelid if it's nested deep inside.

use nested loop:

var data = jsonlist.json_data.data; (var = 0; < data.length; i++) {     var children = data[i].children;     if (typeof children == 'object') {         (var j = 0; j < children.length; j++) {             var levelid = children[j].attr.levelid;             // child's levelid         }     } } 

Comments

Popular posts from this blog

assembly - 8086 TASM: Illegal Indexing Mode -

Java, LWJGL, OpenGL 1.1, decoding BufferedImage to Bytebuffer and binding to OpenGL across classes -

javascript - addthis share facebook and google+ url -