2016-08-15 5 views
0

Ich suche people_id, username, name und people_type aus den folgenden JSON-Daten abrufen. Letztendlich muss ich diese Details in einer modalen Bootstrap-Tabelle auffüllen. Die folgenden ist der jQuery-Code Ich habe die Details abgerufen wird unter Verwendung von:bekommen undefiniert beim Zugriff auf verschachtelte JSON

.done(function (data_, textStatus_, jqXHR_) { 
$.each(data_.people_list, function(key, value) { 

        $.each(value.details_list, function(k,v) { 
           console.log("Inside Loop:"+v.name); 
           $.each(v.role, function(k1,v1) { 
           console.log("Inside Another Loop for Role Name:"+v1.people_type); 
           }); 
        }); 
       }); 

}) 

Derzeit habe ich nur name und people_type .Hier zuzugreifen versuchen die Ausgabe ich auf meiner Konsole bin immer:

Inside Loop:First Hand Details 
Inside Another Loop for Role Name:undefined 
Inside Loop:First Hand Details 
Inside Another Loop for Role Name:undefined 
Inside Loop:UAB Multiple Myeloma Registry 
Inside Another Loop for Role Name:undefined 
Inside Loop:First Hand Details 
Inside Another Loop for Role Name:undefined 
Inside Loop:First Hand Details 
Inside Another Loop for Role Name:undefined 
Inside Loop:First Hand Details 
Inside Another Loop for Role Name:undefined 

Warum ist people_type nicht definiert? Ich lese online, dass man undefined bekommt, wenn diese bestimmte Sache nicht existiert?

{ 
    "webservice_status" : { 
    "status" : "SUCCESS", 
    "message" : "" 
    }, 
    "people_list" : [ { 
    "people_id" : 001, 
    "username" : "pxy123", 
    "full_name" : "James Camerion", 
    "details_list" : [ { 
     "id" : 1234, 
     "name" : "First Hand Details", 
     "role" : { 
     "type_id" : 3042, 
     "people_type" : "SuperUser" 
     } 
    } ] 
    }, { 
    "people_id" : 002, 
    "username" : "gbt123", 
    "full_name" : "Tom Cruise", 
    "details_list" : [ { 
     "id" : 1234, 
     "name" : "First Hand Details", 
     "role" : { 
     "type_id" : 3041, 
     "people_type" : "Normal User" 
     } 
    }, { 
     "id" : 5678, 
     "name" : "Second Hand Details", 
     "role" : { 
     "type_id" : 3042, 
     "people_type" : "SuperUser" 
     } 
    } ] 
    }, { 
    "people_id" : 003, 
    "username" : "txt456", 
    "full_name" : "Michael Jordon", 
    "details_list" : [ { 
     "id" : 1234,                          
     "name" : "First Hand Details", 
     "role" : { 
     "type_id" : 3042, 
     "people_type" : "SuperUser" 
     } 
    } ] 
    }, { 
    "people_id" : 004, 
    "username" : "mxn788", 
    "full_name" : "Paul Walker", 
    "details_list" : [ { 
     "id" : 1234, 
     "name" : "First Hand Details", 
     "role" : { 
     "type_id" : 3042, 
     "people_type" : "SuperUser" 
     } 
    } ] 
    }, { 
    "people_id" : 005, 
    "username" : "nhgy234", 
    "full_name" : "Brad Pitt", 
    "details_list" : [ { 
     "id" : 1234, 
     "name" : "First Hand Details", 
     "role" : { 
     "type_id" : 3042, 
     "people_type" : "SuperUser" 
     } 
    } ] 
    } ] 
} 
+0

Rolle ist ein Objekt, kein Array, keine Notwendigkeit, darüber zu schleifen – aw04

+1

Auf derselben "Ebene" greifen Sie auf "v.name" zu, Sie können auf "v.role.people_type" zugreifen. –

Antwort

1

Um
Keine Notwendigkeit, Schleife v Ergebnis Verwendung unter Option erhalten erwartet, da es mit .each() verfügbar ist, und es ist ein einzelnes Objekt und nicht mehrere Objekte

$.each(test[0].people_list, function(key, value) { 

        $.each(value.details_list, function(k,v) { 

           console.log("Inside Loop:"+v.name); 

           console.log("Inside Another Loop for Role Name:"+v.role.people_type); 

        }); 
       }); 




var test =[{ 
    "webservice_status" : { 
    "status" : "SUCCESS", 
    "message" : "" 
    }, 
    "people_list" : [ { 
    "people_id" : 001, 
    "username" : "pxy123", 
    "full_name" : "James Camerion", 
    "details_list" : [ { 
     "id" : 1234, 
     "name" : "First Hand Details", 
     "role" : { 
     "type_id" : 3042, 
     "people_type" : "SuperUser" 
     } 
    } ] 
    }, { 
    "people_id" : 002, 
    "username" : "gbt123", 
    "full_name" : "Tom Cruise", 
    "details_list" : [ { 
     "id" : 1234, 
     "name" : "First Hand Details", 
     "role" : { 
     "type_id" : 3041, 
     "people_type" : "Normal User" 
     } 
    }, { 
     "id" : 5678, 
     "name" : "Second Hand Details", 
     "role" : { 
     "type_id" : 3042, 
     "people_type" : "SuperUser" 
     } 
    } ] 
    }, { 
    "people_id" : 003, 
    "username" : "txt456", 
    "full_name" : "Michael Jordon", 
    "details_list" : [ { 
     "id" : 1234,                          
     "name" : "First Hand Details", 
     "role" : { 
     "type_id" : 3042, 
     "people_type" : "SuperUser" 
     } 
    } ] 
    }, { 
    "people_id" : 004, 
    "username" : "mxn788", 
    "full_name" : "Paul Walker", 
    "details_list" : [ { 
     "id" : 1234, 
     "name" : "First Hand Details", 
     "role" : { 
     "type_id" : 3042, 
     "people_type" : "SuperUser" 
     } 
    } ] 
    }, { 
    "people_id" : 005, 
    "username" : "nhgy234", 
    "full_name" : "Brad Pitt", 
    "details_list" : [ { 
     "id" : 1234, 
     "name" : "First Hand Details", 
     "role" : { 
     "type_id" : 3042, 
     "people_type" : "SuperUser" 
     } 
    } ] 
    } ] 
}]; 


$.each(test[0].people_list, function(key, value) { 

        $.each(value.details_list, function(k,v) { 

           console.log("Inside Loop:"+v.name); 

           console.log("Inside Another Loop for Role Name:"+v.role.people_type); 

        }); 
       }); 

Codepen mit : http://codepen.io/nagasai/pen/BzrEVN

Ausgang:

Inside Loop:First Hand Details 
Inside Another Loop for Role Name:SuperUser 
Inside Loop:First Hand Details 
Inside Another Loop for Role Name:Normal User 
Inside Loop:Second Hand Details 
Inside Another Loop for Role Name:SuperUser 
Inside Loop:First Hand Details 
Inside Another Loop for Role Name:SuperUser 
Inside Loop:First Hand Details 
Inside Another Loop for Role Name:SuperUser 
Inside Loop:First Hand Details 
Inside Another Loop for Role Name:SuperUser 
Verwandte Themen