To access nested JSON property based on another property’s value, the code is as follows −
Example
var actualJSONData = JSON.parse(studentDetails()),
studentMarks = getMarksUsingSubjectName(actualJSONData, "JavaScript");
console.log("The student marks="+studentMarks);
function getMarksUsingSubjectName(actualJSONData, givenSubjectName){
for(var tempObj of actualJSONData){
if(tempObj.subjectName = givenSubjectName){
return tempObj.marks;
}
}
}
function studentDetails(){
return JSON.stringify(
[
{ firstName : "John", subjectName: "JavaScript", marks : 97 },
{ firstName : "David", subjectName: "Java", marks : 98 }
]
);
}To run the above program, you need to use the following command −
node fileName.js.
Here, my file name is demo155.js.
Output
This will produce the following output −
PS C:\Users\Amit\JavaScript-code> node demo155.js The student marks=97