使用javascript在嵌套json中使用Child的值验证父键

时间:2017-01-13 17:08:58

标签: javascript json

我可以使用Javascript获得关于json解析的一些建议:

上例中的json格式是一个嵌套的json,尝试使用Child的值验证父键的密钥...

说我们有100名学生,每个学生的数据如下:

{
  "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"}
    }
  }
}

验证的目的是确保每个学生的比赛课程都“注册” ,因为它是必需的类。英语课程可以“注册”或“未注册”,因为英语课程是可选的。

提前致谢。

1 个答案:

答案 0 :(得分:0)

提供学生对象,您只需要在学生的课程对象中检查课程是否存在已注册状态。



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'));




给出100个学生的列表,您可以简单地遍历列表并在每个对象上调用isStudentEnrolledInCourse函数。另外,如果你有一个JSON字符串而不是一个javascript对象,请不要忘记用JSON.parse(jsonString)解析它。