2017-01-13 3 views
-1

bekomme ich eine Beratung über den json Parsing mit Javascript:Validate Eltern Schlüssel mit Kindern Wert in verschachtelten json javascript

JSON-Format in dem obigen Beispiel ist eine verschachtelte json, versuchen Eltern Schlüssel mit Kindern Wert zu validieren ...

sagen wir 100 Studenten haben, Daten jedes Schülers sieht wie folgt aus:

{ 
    "studentName": "good student", 
    "age": "18", 
    "address": "street 123", 
    "courses": { 
    "math":  { 
     "description": "how to calculate", 
     "enrollment": "enrolled", 
     "status": {"result": "OK"} 
    }, 
    "English":  { 
     "description": "abc", 
     "enrollment": "not-enrolled", 
     "status": {"result": "OK"} 
    } 
    } 
} 

Das Ziel der Validierung sicher Match Klasse jedes Schülers zu machen ist „eingeschrieben“ , da es sich um ein erforderliche Klasse. Die Englischklasse kann "eingeschrieben" oder "nicht immatrikuliert" sein, da Englischunterricht optional ist.

Vielen Dank im Voraus.

Antwort

0

Wenn Sie ein Studentenobjekt bereitstellen, müssen Sie lediglich prüfen, ob der Kurs mit einem registrierten Status im Kursobjekt des Schülers existiert.

var student = { 
 
    "studentName": "good student", 
 
    "age": "18", 
 
    "address": "street 123", 
 
    "courses": { 
 
    "Math": { 
 
     "description": "how to calculate", 
 
     "enrollment": "enrolled", 
 
     "status": {"result": "OK"} 
 
    }, 
 
    "English": { 
 
     "description": "abc", 
 
     "enrollment": "not-enrolled", 
 
     "status": {"result": "OK"} 
 
    } 
 
    } 
 
}; 
 

 
function isStudentEnrolledInCourse(student, course) { 
 
    var courses = student.courses; 
 
    var courseObj = courses[course]; 
 
    if (typeof courseObj === 'undefined' ||courseObj.enrollment !== 'enrolled') { 
 
    return false; 
 
    } 
 
    
 
    return true; 
 
} 
 

 
console.log(isStudentEnrolledInCourse(student, 'Math'));

eine Liste von 100 Studenten gegeben, könnte man einfach über die Liste durchlaufen und die isStudentEnrolledInCourse Funktion auf jedem Objekt aufrufen. Wenn Sie eine JSON-Zeichenfolge anstelle eines Javascript-Objekts haben, vergessen Sie nicht, sie mit zu analysieren.

+0

Danke Max. Das funktioniert. – apple

Verwandte Themen