【问题标题】:Selecting a value in a JSON object based on another JSON value using Jquery使用 Jquery 基于另一个 JSON 值在 JSON 对象中选择一个值
【发布时间】:2016-10-13 12:17:56
【问题描述】:
{ 
     "lessons": [{
          "questionid" : "23" , 
          "Lessonname" : "Maths" , 
          "Grade" : "3"
      }] 
}

{
    "Exams": [{
        "Test": "SAT",
        "Questionid": 23,
        "grade": "3"
   }]
}

我有这两个示例 JSON 数组,我希望能够从 Exams 数组中选择 Questionid 并使用它从课程数组中打印相应的课程。任何人都可以帮忙吗?我正在使用 jquery。

【问题讨论】:

标签: javascript jquery json object


【解决方案1】:

这可能对你有帮助,

$(document).ready(function() {
    //1st ajax call to get question Id
    $.ajax({
        type: 'GET',
        url: 'json.js',
        dataType: "json",
        success: function(data) {
            //console.log(data.Exams);
            $.each(data.Exams, function(i, val){
                //console.log(val.Questionid);
                var questionId = val.Questionid; //This is your question id

                //2nd Ajax call to get lession name
                $.ajax({
                    type: 'GET',
                    url: 'json2.js',
                    dataType: "json",
                    success: function(lessonsData){
                        console.log(lessonsData.lessons);
                        $.each(lessonsData.lessons, function(j, lessonVal){
                            //console.log(lessonVal.questionid);
                            var lessonId = lessonVal.questionid;

                            if(questionId == lessonId){
                                var lessonName = lessonVal.Lessonname;
                                console.log(lessonName); //This will give you the lesson name
                            }
                        });
                    }
                });
            });
        }
    });
});

对应的Json,

{
   "Exams": [
       {
          "Test": "SAT",
          "Questionid": 23,
          "grade": "3"
       }
   ]
}
{ 
    "lessons": [
       {
           "questionid" : "23" , 
           "Lessonname" : "Maths" , 
           "Grade" : "3"
       }
    ] 
}

【讨论】:

  • 代码对应的Json就是你问题中的上面那个。
  • 如果可以,请在编辑计时器用完之前格式化您的课程数组和考试数组(对象和数组在相同/不同的行上打开/关闭标签)。
  • 现在可以了吗? @autoboxer
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-29
  • 2022-01-20
  • 2019-05-04
相关资源
最近更新 更多